美文网首页开发ios/android我爱编程
Android 4.0到8.0版本特性总结

Android 4.0到8.0版本特性总结

作者: 吃茶泡饭丶 | 来源:发表于2018-03-30 23:24 被阅读1356次

从目前主流Android适配版本4.0/5.0开始

  • Android 4.0,4.1,4.2,4.3

    • 支持OpenGL ES3.0

    • 增强了蓝牙连接

    • 优化位置和传感器

    • 支持DayDream

    • 人脸识别解锁

    • 支持Photo Sphere全景照片

    • 添加转场动画

      5.0之前启动Activity时使用动画

      startActivity(new Intent(this, Main2Activity.class));  
          overridePendingTransition(R.anim.in,R.anim.out); 
      

      对应的入场

      <?xml version="1.0" encoding="utf-8"?>  
      <set xmlns:android="http://schemas.android.com/apk/res/android">  
      <translate  
          android:toYDelta="0"  
          android:fromYDelta="100%"  
          android:duration="1500"/>  
      </set>  
      

      出场

      <?xml version="1.0" encoding="utf-8"?>  
      <set xmlns:android="http://schemas.android.com/apk/res/android">  
      <translate  
          android:duration="1500"  
          android:fromYDelta="0"  
          android:toYDelta="-100%"/>  
      </set> 
      

      5.0之后Activity出入场动画大体分为两种,一种分解滑动进入,淡入淡出;另一种共享元素动画
      详细介绍参考:
      传送门

  • Android 4.4

    • 存储访问框架

    • 低功耗传感器

    • 添加短信提供程序

    • 添加新的媒体功能

    • 图形

      • GLES2.0 SurfaceFlinge
      • 新的硬件合成器
      • 支持虚拟显示
    • 支持新的连接类型

      • 新的蓝牙配置文件
      • 红外发射器
      • Wi-Fi TDLS 支持
    • 无障碍功能

    • 安全增强功能

    • 内存使用率分析工具Procstats

    • RenderScript Compute

      • 持续性能提升
      • Android NDK 中的 RenderScript
      • GPU 加速
    • 添加打印框架

    • 支持Android Beam

      基于近场通信所做的功能,利用NFC技术让两部手机只需要靠近即可完成消息传递,蓝牙配对等

    • 添加全屏沉浸模式

    • 添加透明系统UI样式

  • Android 5.0

    • 支持OpenGL ES3.1

    • 媒体控件和 RemoteControlClient

    • getRecentTasks()

    • WebView API修改

    • 自定义权限唯一性要求

    • 支持托管配置文件

    • Android Runtime (ART)默认运行平台设置

    • 通知

      • Material Design 样式
      • 声音和振动
      • 锁定屏幕可见性
      • 媒体播放
      • 浮动通知
    • 引入Material Design设计

    • RecyclerView组件以取代ListView

    • 支持Android NDK中的64位

    • 只能显示绑定到服务,取消隐藏绑定服务

    • TLS/SSL 默认配置变更

      • 服务器不支持任何已启用的加密套件
      • 应用对用于连接服务器的加密套件做出错误的假设
      • 服务器不支持 TLSv1.1、TLSv1.2 或新的 TLS 扩展
  • Android 6.0

    • 低电耗模式和应用待机模式
    • BoringSSL
    • 硬件标识符访问权
    • 通知
    • 音频管理器变更
    • Android 密钥库不再支持 DSA。但仍支持 ECDSA
    • WLAN 和网络连接变更
    • 相机服务变更
    • APK 验证
    • USB 连接
    • 运行时请求权限
    • 取消支持 Apache HTTP 客户端
    • 支持文本选择
  • Android 7.0

    • 电池和内存

      • 低电耗模式
      • Project Svelte:后台优化
    • 引入JIT编译器

    • 权限更改

      • 系统权限更改
    • 在应用间文件共享权限控制

    • 多窗口支持

    • 通知栏快捷回复

    • 支持VR

    • 画中画

    • App快捷菜单

  • Android 8.0

    • 通知渠道细分操作 Notification Channels

      通知渠道是由应用自行定义的通知内容类别,借助渠道,开发者可以让用户对不同种类的通知进行精细控制,用户可以单独拦截或更改每个渠道的行为,而不是统一管理应用的所有通知。

      创建通知渠道的步骤:

      1. 创建 NotificationChannel 对象,并设置应用内唯一的通知 ID。
      2. 配置通知渠道的属性,比如提示声音等
      3. 在 NotificationManager 中注册通知渠道对象。
    • 画中画模式 PIP

      PIP 是一种多窗口显示模式,多用于视频播放,即你可以一边发微信一边看视频。

      PIP 模式不会改变 Activity 的生命周期。在指定时间只有最近与用户交互过的 Activity 为活动状态。 该 Activity 将被视为顶级 Activity。 所有其他 Activity 虽然可见,但均处于暂停状态。当一个 Activity 处于 PIP 模式时,其实它是出在暂停状态,但其内容会继续展示。

  • 自适应图标 Adaptive Icons

    • 自适应图标支持多种形状

      通过定义两张图层(前景与背景)你可以制定你的桌面图标外观,你必须提供没有形状和阴影的 PNG 格式图象作为图层。

    • 自适应图标由两张图层和一个形状来定义

      在以前的 Android 版本中,图标大小定义为 48 x 48 dp。现在你必须按照以下的规范定义你的图层大小:

      1. 两张图层大小都必须为 108 x 108 dp。
      2. 图层中心 72 x 72 dp 范围为可视范围。
      3. 系统会保留四周外的 36dp 范围用于生成有趣的视觉效果(如视差和跳动)
    • 创建你的自适应图标

      首先你需要在 Application 标签中加入 Android:icon 属性,定义你的 icon 图标。其次如果你需要创建一个原型的 icon,你还需要加入 Android:roundIcon 属性。
      接下来,你需要 res/mipmap-anydpi/ic_launcher.xml 文件中定义您的图层。在 选项中加入您的前景和背景图层。

  • 固定快捷方式和小部件 — Pinning shortcuts

    Pinning shortcuts 是一个比 APP shortcuts 更小的快捷方式,放置于桌面上,用于更快速的打开某一 APP 的某单一任务。Pinning shortcuts 在桌面上可呈现不同的图标显示。

    1. 首先使用 isRequestPinShortcutSupported() 方法校验手机是否支持启动这种快捷方式。
    2. 创建 ShortcutInfo 对象。
    3. 用 requestPinShortcut() 方法应用 Pinning shortcuts。你可以通过 PendingIntent 来通知你的 shortcuts 有没有创建成功。
  • Background Execution Limits

    • 对Background Service 的限制

      当一个应用程序在前台的时候,可以自由运行Foreground 和Background service。但是当应用程序切换到后台的时候,在开始几分钟所有的services都可以正常使用,过几分钟后,系统将会停止所有的Background service,就好比调用了Service.stopSelf( ) 。

      在Android O之前,创建一个Foreground Service的方式通常是先创建一个Background Service的方式,再通过startForeground()的方式变为前台。

      但是在Android O中,如果应用程序运行在后台,那么静不能查创建Background Service,同时也就不能创建Foreground Service。

      出于这种考虑,Android O引入了一个新的方法:

      NotificationManager.startServiceInForeground()
      

      调用这个方法就相当于startService( )在后台创建一个服务,然后立即调用的服务的startForeground( )方法使其变为Foreground。由于新的服务从未在后台,所以不受后台服务的限制。

    • 对Broadcast 的限制

      • 应用不能够再通过在AndroidManifest中声明广播的时候添加intent-filter来注册广播。

      • 不管intent是显示还是隐式,都可继续使用Context.registerReceiver的方式注册广播。

  • Android P

End

相关文章

网友评论

    本文标题:Android 4.0到8.0版本特性总结

    本文链接:https://www.haomeiwen.com/subject/usuwcftx.html