android开发大坑汇总
1.EditText --> gravity与hint冲突
表现在2.X版本当在EditText设置android:gravity="center"属性后,android:hint会无效。
解决办法:再添加android:ellipsize="start"就会好了。
感觉:很无厘头的大坑,记住吧!要不旧机子就只有显示不出来的份。
2.DatePickerDialog --> 时间超过最大值变为最小时间时显示出错。
解决办法:暂无
感觉:这个控件的bug一直存在,很多应用用这个控件。。
3. 小米部分机型(例如:小米NOTE PRO, 固件:5.1.1 LMY47V)。禁用WebView的硬件加速,会导致部分web动画长时间不结束。影响用户使用。解决方式:开启硬件加速!
android:hardwareAccelerated="true"
4. static 变量(静态变量)被回收。
类的static变量会在内存少的时候类被回收后重置。
比如 static String cookies==‘xxxxxxxx’;回收后,cookies会被初始化为原始值。
360的清理内存会触发此操作。
Application中的static变量稍微耐久一些,360的清理内存不会导致static变量初始化。
但是小米的清理进程会导致Application完全关闭。
5. 使用Fragment时,要确保父容器为FrameLayout.
如果使用LinearLayout作为父容器-》遇到大坑:fragment里的layout_weight无效。
6. android gradle 2.0.0 以上
android {
buildTypes {
release {
minifyEnabled true
shrinkResources true
}
}
}
shrinkResources 会有问题。因为许多方法是通过反射方式来获得的。shrink方式会导致很多资源丢失。shrinkResource使用的算法有问题。 慎用 shrinkResources。
来源:oschina
链接:https://my.oschina.net/u/1396564/blog/298800