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问题。

关于锁屏后网络被切断问题。锁屏就算保护,而网络或者SOCKET也可能被主动切断。

华为自己给出了BASTET系统解决方案,具体不展开。
4、相同颜色值在全局是同一份,如果对其改变获取后的colorDrawable值,会导致其它所有使用的地方都改变,可以采用mutable避免。 这个其实不能算作坑,是自己代码没有看仔细。

5、华为p8手机,如果service与ui不在同一进程,service中监控网络的BroadcastReciver 会收不到网络连接的广播,但是能收到断开的广播,这个应该也是华为自己的优化,但是ui中的连接与断开都能收到广播。

6: Android 在4.4后更新了webview内核,在5.0前在webview中,不用的域可以读取其它域设置的cookie,但是在5.0开始,系统默认值改为了false。这样会导致之前以前采用旧方法的不能获取到。(其实在我看来,确实不应该跨域来读取cookie,多不安全)

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
      CookieManager.getInstance().setAcceptThirdPartyCookies(mWebView, true);
    }

以上就是本文的全部内容,希望对大家的学习有所帮助。



相关阅读:
Afianl框架里面的FinalBitmap加载网络图片
实现WordPress主题侧边栏切换功能的PHP脚本详解
jQuery模仿阿里云购买服务器选择购买时间长度的代码
解析php框架codeigniter中如何使用框架的session
微软警告:7月29日之前不要尝试全新安装Win10
用table表格来调整表单控件的格式让它好看一些
PHP屏蔽过滤指定关键字的方法
javascript无刷新评论实现方法
苹果Mac系统怎么同时打开多个Finder标签页?
Yii2实现让关联字段支持搜索功能的方法
java及C++中传值传递、引用传递和指针方式的理解
.NET中读取Excel文件的数据及excelReader应用
MySQL使用命令备份和还原数据库
c# Graphics使用方法(画圆写字代码)
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 乡村医生2013个人述职报告 男人,好好爱你的妻子 如果你长期戴面具,它就会成为你的脸 武夷山漂流记 去万达游玩作文250字 八年级第一次月考反思 秋雨作文 建设局治理商业贿赂自查自纠工作实施方案 邓小平在1928作文800字 爱情经典语句 民族宗教事务局年度工作总结 2013年端午节超市、卖场、商场活动策划方案 企业共青团2014工作会议讲话 落叶之恋(2)作文100字 挂职半年工作总结 童年趣事--去乡下玩500字 卫生局领导征兵体检工作会议讲话 春 你什么时候来啊 玩得最痛快的一天 《白杨礼赞》同步练习7.doc(41)k 我在重庆,你在哪里? 男人最容易忽略女人5个心思 扑灰年画200字 如果说,喜欢你是一种错,我情愿一错再错 蚂蚁搬食物作文500字 2015年茂名市政府工作报告(全文) 好好地活着,千万别在乎太多 带血的婚纱 2010年社会实践文艺汇演计划书 初中初三作文800字:周记(四) 5万元的理财门路 加快发展现代服务业的对策措施 唯有爱,以暖生命 斩断魔爪,拒绝毒品作文500字 赤湾炮台 高二下学期的自己 校长年度工作总结 伟大的祖国作文600字 一本让我震撼的书 教育局2015年工作报告 莪看过哭了的文章 2016职工代表述职报告 下岗职工创业纪实 2016下个月销售计划怎么写 高中高二作文600字:心路历程 送张籍归江东 校园秋色350字 小兔和小刺猬过河作文400字 2011年暑期物流公司实习总结报告 2013年11月入党思想汇报范文:学习党的纲领

Copyright © 2016 phpStudy |