Moosphan / Android-Daily-Interview

:pushpin:每工作日更新一道 Android 面试题,小聚成河,大聚成江,共勉之~

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

2019-07-01:简述一下Android 8.0、9.0 分别增加了哪些新特性?

Moosphan opened this issue · comments

2019-07-01:简述一下Android 8.0、9.0 分别增加了哪些新特性?

这个问题,我不抛砖引玉了,直接抛玉.因为,官方文档,最为致命.

Android 9 功能和 API

Android 8.0 功能和 API

Android 7.0 开发者版本

这个问题,我不抛砖引玉了,直接抛玉.因为,官方文档,最为致命.
楼上的都是在外边的访问不了

  • 10.0

    • ExternalStrorage文件沙盒
    • 后台限制启动activity
  • 9.0

    • 刘海模式,手机可以直接设计刘海模式
    • 夜间模式
    • 默认使用https
    • 非 SDK 接口的限制
    • 全面屏
    • 后台应用:
      • 您的应用不能访问麦克风或摄像头。
        使用连续报告模式的传感器(例如加速度计和陀螺仪)不会接收事件。
        使用变化或一次性报告模式的传感器不会接收事件。
        如果您的应用需要在运行 Android 9 的设备上检测传感器事件,请使用前台服务。
    • 电话信息现在依赖设备位置设置 如果用户在运行 Android 9 的设备上停用设备定位,则以下函数不提供结果:

      TelephonyManager.getAllCellInfo()

      TelephonyManager.listen()

      TelephonyManager.getCellLocation()

      TelephonyManager.getNeighboringCellInfo()
    • Build.SERIAL 始终设置为 "UNKNOWN" 以保护用户的隐私,如果您的应用需要访问设备的硬件序列号,您应改为请求 READ_PHONE_STATE权限,然后调用 getSerial()。
    • 多进程 webview 信息访问限制
    • 对使用非 SDK 接口的限制:NoSuchMethodError/NoSuchFieldException
      • if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
        // Android P or above
        } else {
        // below Android P
        }
    • 检测是否使用了非SDK接口 工具veridex
    • Apache HTTP 客户端弃用,需要自定义classloader
    • 针对 Android 9 或更高版本并使用前台服务的应用必须请求 FOREGROUND_SERVICE 权限。 这是普通权限,因此,系统会自动为请求权限的应用授予此权限。
  • 8.0

    • 未知来源应用
    • 通知渠道
    • 应用无法使用其清单注册大部分隐式广播(即,并非专门针对此应用的广播)

官方文档 Android 9

  • 室内定位
  • 通知渠道组增强
  • 短信通知增强
  • 显示屏缺口支持
  • 新增ImageDecoder替换BitmapFactory和BitmapFactory.Options
  • 新增AnimatedImageDrawable加载gif和webp图像
  • 非SDK接口限制

官方文档 Android 8

  • 通知-渠道
  • 通知-标志
  • 通知-休眠
  • 通知-超时
  • 通知-背景颜色
  • 画中画
  • 智能共享
  • 智能文字选择
  • 自动填充框架
  • 隐式广播限制