Get you apps ready for Android 6.0 Marshmallow!
新的功能:运行时的权限提醒,Doze(打盹模式)和备用电源,协助新技术,等等。
Android 6.0Changes
伴随着新的特性和功能,Android 6.0(API level 23)在系统上和API的使用上做了一些改变。
如果我们已经发布了一款app,那么就要关注一下这些改变会不会影响应用的运行。
这是一种新的权限使用模型,用户可以在程序运行中直接管理应用的权限。在简化安装和自动升级等流程中,提供给用户透明和可控的权限管理的方式。
建议:即使你的编译target设置不是android6.0(API23),也应该在6.0的新模式中测试一下。
在6.0以及更高版本中,要在程序运行时去请求权限。
(1) checkSelfPermission()
// 确定你的程序是否有权限。
(2) requestPermission()
//请求权限
具体请参考:
对限制设备和应用进行电量优化,增加续航时间,由于这个特性会影响所有的应用,建议在6.0平台上对应用进行测试。
Doze:如果一个设备屏幕关闭,处于静止状态,一段时间后,这个设备进入Doze模式,它试图使设备进入休眠状态。在这个模式下,设备会周期性的恢复到正式状态下,以便应用可以同步发生,并且系统可以处理一些未完成的操作。
App Standy:当用户不积极使用一款应用的时候,App standby 允许系统默认该应用处于闲置状态。如果这个设备没有连接电源,
系统将要对该应用禁用网络连接,暂停同步和其他工作内容,该应用处于闲置状态。
To learn more about these power-savingchanges, see Optimizingfor Doze and App Standby.
Android 6.0移除了Apache Http支持,如果应用使用了它,并且版本大于等于Android2.3,可以使用HttpURLConnection 类替换。这个Api是更有效的,因为它通过透明的压缩和响应缓存,减少了网络的使用和电量的消耗。
如果想继续使用Apache Http API,必须要
(1)在buid.gradle 文件中声明:
(2)引入jar包:org.apache.http.legacy.jar
该包地址:sdk\platforms\android-23\optional
原文:http://blog.csdn.net/nefuyang/article/details/50717947