Android7.0适配所需要注意的一些事项

低电耗模式

会对闹铃、GPS 和 Wi-Fi 扫描 产生限制.
可参考Optimizing for Doze and App Standby
使用GCM来发送和接受消息

后台优化

Android N 删除了三项隐式广播,隐式广播会在后台频繁启动已注册侦听这些广播的应用。 删除这些广播可以显著提升设备性能和用户体验.

侦听网络变化的主线程广播改为: CONNECTIVITY_CHANGE。
对所有应用都无法 发送和接受 ACTION_NEW_PICTURE 或 ACTION_NEW_VIDEO .

可以使用JobScheduler API ,更多参考后台优化

权限变更

旨在提高私有文件的安全性,

  1. 仍然可以使用原生 API 或 File API 来修改私有目录,但是不建议使用.
  2. 使用file:// URI,可能会导致接受者无法访问该路径 ,需要使用FileProvider
  3. DownloadManager 不再按文件名分享私人存储的文件,需要使用ContentResolver.openFileDescriptor()

参考阅读:Android7.0须知–应用间共享文件(FileProvider)

文件共享

若要在应用间共享文件,需要发送一项 content:// URI,最好也是使用 FileProvider类

NDK平台库

Android N 做了一些命名空间更改,阻止加载非公开API,会出现一些常见错误

如,UnsatisfiedLinkError

典型修复方法,
1. 使用标准 JNI 函数来替代使用 libandroid_runtime.so 中的 getJavaVM 和 getJNIEnv
2. 使用公开 alternative __system_property_get 来替代使用 libcutils.so 中的 property_get 符号
3. 使用应用本地版本来替代使用 libcrypto.so 中的 SSL_ctrl 符号

注解保留

Android N 在注解可见性被忽略时修复错误,
这些注解包括:
1. VISIBILITY_BUILD:仅应编译时可见
2. VISIBILITY_SYSTEM:运行时应可见,但仅限基本系统

其他重要事项

如果应用是针对更低 API 级别开发而运行在Android N上,那么在更改显示尺寸,系统将终止此应用进程.
Android N 上的应用应能够正常处理配置变更,包括字体大小的变更
许多平台 API 现在开始检查在 Binder 事务间发送的大负载,ps,Activity.onSaveInstanceState() 存储过多数据时,引发RuntimeException
View 发布 Runnable 任务,在 View 附加到窗口之前,Runnable 任务不会执行
DELETE_PACKAGES 权限的变更,应用尝试删除一个软件包,但另一项应用已经安装了这个软件包,则系统可能要求用户确认

参考:Android 7.0牛轧糖

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值