易采站长站为您分析Android开发过程中那些需要注意的坑,有一些是自己遇到的,特分享给大家,需要的朋友可以参考下
这个是看知乎的时候发现的一个问题,感觉挺有意思,就将自己遇到的坑记录下来。
1、Andorid L theme colorPrimary 不能使用带有alpha的颜色值,否则会有异常抛出, 直接判断了是否alpha是否等于0或者255,其他都会异常
@Override
protected void onApplyThemeResource(Resources.Theme theme, int resid,
boolean first) {
if (mParent == null) {
super.onApplyThemeResource(theme, resid, first);
} else {
try {
theme.setTo(mParent.getTheme());
} catch (Exception e) {
// Empty
}
theme.applyStyle(resid, false);
}
// Get the primary color and update the TaskDescription for this activity
if (theme != null) {
TypedArray a = theme.obtainStyledAttributes(com.android.internal.R.styleable.Theme);
int colorPrimary = a.getColor(com.android.internal.R.styleable.Theme_colorPrimary, 0);
a.recycle();
if (colorPrimary != 0) {
ActivityManager.TaskDescription v = new ActivityManager.TaskDescription(null, null,
colorPrimary);
setTaskDescription(v);
}
}
}
/**
* Creates the TaskDescription to the specified values.
*
* @param label A label and description of the current state of this task.
* @param icon An icon that represents the current state of this task.
* @param colorPrimary A color to override the theme's primary color. This color must be opaque.
*/
public TaskDescription(String label, Bitmap icon, int colorPrimary) {
if ((colorPrimary != 0) && (Color.alpha(colorPrimary) != 255)) {
throw new RuntimeException("A TaskDescription's primary color should be opaque");
}
mLabel = label;
mIcon = icon;
mColorPrimary = colorPrimary;
}
2、android 5.0花屏,由于过度绘制导致,关闭硬件加速, 尤其是使用webview后,可能会有大概率出现。
3、华为手机被KILL一系列问题
用户可以设置某个应用是否后台保护,按照华为的功能说明,理解为,如果不保护,那锁屏后程序将无法保持运行,也就是进程可能被KILL
新安装应用后,华为会给出选项,是否保持,这个默认选项上存在问题,有的应用默认不允许,有的应用默认就允许。
关于耗电高被KILL问题。










