android版本的区别是什么,2019-07-30-Android各个版本的区别

各个版本新特性

1,Android 4.4 (API19)

沉浸式状态栏

WebView webview调试功能

WebView.setWebContentsDebuggingEnabled(true);

WebView 增加对 https请求限制需要去验证https证书,或者设置忽略所有证书

1, 5.0

虚拟机由Dalvik替换为Art虚拟机

Dalvik 使用JIT编译器,Art是AOT编译器

Materil Design设计规范

WebView中Http和Https混合问题

/**

* MIXED_CONTENT_ALWAYS_ALLOW:允许从任何来源加载内容,即使起源是不安全的;

* MIXED_CONTENT_NEVER_ALLOW:不允许Https加载Http的内容,即不允许从安全的起源去加载一个不安全的资源;

* MIXED_CONTENT_COMPATIBILITY_MODE:当涉及到混合式内容时,WebView 会尝试去兼容最新Web浏览器的风格。

**/

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);

}

WebView cookie 存储问题

public static void syncCookie(String url, String key) {

CookieManager cookieManager = CookieManager.getInstance();

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

cookieManager.removeSessionCookies(null);

cookieManager.flush();

} else {

cookieManager.removeSessionCookie();

CookieSyncManager.getInstance().sync();

}

cookieManager.setAcceptCookie(true);

cookieManager.setCookie(url, key);

}

新增酷炫的转场动画

2, 6.0

Android 动态权限申请

指纹识别

移除HttpClient库

3, 7.0

多窗口支持

文件读写权限适配

引入一项新的应用签名方案 :APK Signature Scheme v2

需要适配FileProvider,否则应用会崩溃

app之间的私有文件共享只能用FileProvider这种方式.FileProvider是通过一种临时授权的方式让其他app来访问我自己app私有文件夹的方式,访问过一次就失效了,下次想访问就失效了除非再次授权.

4, 8.0

画中画模式

通知栏适配(Notifcation)

应用创建Notification需要添加ChannelId,若没有添加,则8.0以上的Notification不会显示

广播限制

Android 8.0中把广播分为隐式和显示两种,并禁止app在清单文件中注册部分隐式广播. 只能通过动态方式注册. 为了更好的管制通知的提醒,不想一些不重要的通知打扰用户,新增了通知渠道,用户可以根据渠道来屏蔽一些不想要的通知。

后台服务限制 8.0以上创建的前台Service需要发送一个Notification,否则Service会Anr

1,首先区分一下后台和前台: 具有可见Activity(不管该Activity已启动还是已暂停),具有前台服务,另一个前台应用已关联到该应用.这是前台.否则就是后台.

2,对于后台服务的限制就是指不让处于后台的app任意创建和运行前台和后台服务.处于前台时,应用可以自由创建和运行前台服务与后台服务.进入后台时,在一个持续数分钟的时间窗内,应用仍可以创建和使用服务.时间窗结束后应用被视为处于空闲状态.此时系统将停止应用的后台服务.

3,在Android8.0之前,创建前台服务的方式通常是先创建一个后台服务,然后将后台服务推向前台.Android8.0之后,系统不允许后台应用创建后台服务.因此引入了一个全新的方法Context.startForegroundService(),以在前台启动新服务.在系统创建服务后,应用有五秒时间来调用该服务的startForegroud()方法来把后台服务推向前台显示并在通知栏显示服务可见,如果应用在此时间内未调用startForegroud(),则系统将停止服务并声明此应用ANR.

5, 9.0

刘海屏的适配

电源管理

开发的应用默认不支持Http

适配方案

降低target版本,小于28即可

http换成https

在res目录下新增一个xml目录,再在xml目录下建立一个文件名任意的xml文件,内容大概就是运行开启http请求.

然后在清单文件里application标签增加以下属性:

.....

android:networkSecurityConfig="@xml/http">

.....

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值