美文网首页
Android 版本变更说明

Android 版本变更说明

作者: sunjiandev | 来源:发表于2018-08-07 13:49 被阅读38次

    Android 6.0变化

    Android6.0权限说明

    Android中的正常权限

    • ACCESS_LOCATION_EXTRA_COMMANDS
    • ACCESS_LOCATION_EXTRA_COMMANDS
    • ACCESS_NETWORK_STATE
    • ACCESS_NOTIFICATION_POLICY
    • ACCESS_WIFI_STATE
    • BLUETOOTH
    • BLUETOOTH_ADMIN
    • BROADCAST_STICKY
    • CHANGE_NETWORK_STATE
    • CHANGE_WIFI_MULTICAST_STATE
    • CHANGE_WIFI_STATE
    • DISABLE_KEYGUARD
    • EXPAND_STATUS_BAR
    • FOREGROUND_SERVICE
    • GET_PACKAGE_SIZE
    • INSTALL_SHORTCUT
    • INTERNET
    • KILL_BACKGROUND_PROCESSES
    • MANAGE_OWN_CALLS
    • MODIFY_AUDIO_SETTINGS
    • NFC
    • READ_SYNC_SETTINGS
    • READ_SYNC_STATS
    • RECEIVE_BOOT_COMPLETED
    • REORDER_TASKS
    • REQUEST_COMPANION_RUN_IN_BACKGROUNDREQUE
    • ST_COMPANION_USE_DATA_IN_BACKGROUND
    • REQUEST_DELETE_PACKAGES
    • REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
    • SET_ALARM
    • SET_WALLPAPER
    • SET_WALLPAPER_HINTS
    • TRANSMIT_IR
    • USE_FINGERPRINT
    • VIBRATE
    • WAKE_LOCK
    • WRITE_SYNC_SETTINGS

    除此之外还有危险权限,在Android6.0之后推出一个运行时权限的概念,开发者需要对这些危险权限进行单独适配,把选择权交给用户,对于上面提到的这个正常权限是不需要的,因为这些肯定对用户没有什么影响

    危险权限

    危险权限可以单独分为10个部分,细分为26个权限,下面单独说明:

    • CALENDAR(用于与用户日历相关的运行时权限)
      • READ_CALENDAR
      • WRITE_CALENDAR
    • CALL_LOG(用于与电话功能相关联的权限)
      • READ_CALL_LOG
      • WRITE_CALL_LOG
      • PROCESS_OUTGOING_CALLS
    • CAMERA(用于与访问摄像头或从设备捕获图像/视频相关联的权限)
      • CAMERA
    • CONTACTS(用于与此设备上的联系人和配置文件相关的运行时权限)
      • READ_CONTACTS
      • WRITE_CONTACTS
      • GET_ACCOUNTS
    • LOCATION(用于允许访问设备位置的权限)
      • ACCESS_FINE_LOCATION
      • ACCESS_COARSE_LOCATION
    • MICROPHONE(用于与从设备访问麦克风音频相关联的权限)
      • RECORD_AUDIO
    • PHONE(用于与电话功能相关联的权限)
      • READ_PHONE_STATE
      • READ_PHONE_NUMBERS
      • CALL_PHONE
      • ANSWER_PHONE_CALLS
      • ADD_VOICEMAIL
      • USE_SIP
    • SENSORS(用于与访问正文或环境传感器相关联的权限)
      • BODY_SENSORS
    • SMS(用于与用户的SMS消息相关的运行时权限)
      • SEND_SMS
      • RECEIVE_SMS
      • READ_SMS
      • RECEIVE_WAP_PUSH
      • RECEIVE_MMS
    • STORAGE(用于与共享外部存储相关的运行时权限)
      • READ_EXTERNAL_STORAGE
      • WRITE_EXTERNAL_STORAGE

    对于上面这些权限,如果开发过程中有用到,需要的这些权限单独进行处理

    Android 取消了HttpClient

    Android 6.0 移除了对HttpClient的支持,如果在开发过程中以Android2.3或者以上的版本为目标开发环境,Android官方建议使用HttpURLConnection此 API 效率更高,因为它可以通过透明压缩和响应缓存减少网络使用,并可最大限度降低耗电量。要继续使用 Apache HTTP API,您必须先在 build.gradle 文件中声明以下编译时依赖项:

    android {
        useLibrary 'org.apache.http.legacy'
    }
    

    这两个是主要的变化,另外还有

    • Notification
    • AudioManager
      等,如需看变更详情,可以取官网上面看
      官网链接

    Android 7.0 变化

    广播

    Android 7.0 移除了三项隐式广播,帮助优化内存和电量的消耗,为隐式广播会在后台频繁启动已注册侦听这些广播的应用。删除这些广播可以显著提升设备性能和用户体验

    CONNECTIVITY_ACTION

    ACTION_NEW_PICTURE

    ACTION_NEW_VIDEO

    移动设备会经历频繁的连接变更,例如在 WLAN 和移动数据之间切换时。目前,可以通过在应用清单中注册一个接收器来侦听隐式 CONNECTIVITY_ACTION 广播,让应用能够监控这些变更。由于很多应用会注册接收此广播,因此单次网络切换即会导致所有应用被唤醒并同时处理此广播。于此类似的还有
    在之前版本的 Android 中,应用可以注册接收来自其他应用(例如相机)的隐式 ACTION_NEW_PICTURE 和 ACTION_NEW_VIDEO 广播。当用户使用相机应用拍摄照片时,这些应用即会被唤醒以处理广播。

    为缓解这些问题,Android 7.0 应用了以下优化措施

    • 面向 Android 7.0 开发的应用不会收到 CONNECTIVITY_ACTION 广播,即使它们已有清单条目来请求接受这些事件的通知。在前台运行的应用如果使用 BroadcastReceiver 请求接收通知,则仍可以在主线程中侦听 CONNECTIVITY_CHANGE
    • 应用无法发送或接收 ACTION_NEW_PICTURE 或 ACTION_NEW_VIDEO 广播。此项优化会影响所有应用,而不仅仅是面向 Android 7.0 的应用

    如果在开发过程有用到这些广播,需要对Android 7.0进行适配。之前看到一些应用保活类的博客,就又说道有广播唤醒应用,如果有用到这些广播,就要注意了。

    多窗口模式

    在Android7.0里面一个显著的变化就是支持了多窗口模式,

    • 手机和平板: 用户能够并排运行两个应用,或者处于分屏模式时一个应用位于还有一个应用之上。用户能够通过拖动两个应用之间的分隔线来调整应用。
    • Android TV: 应用能够将自身置于画中画模式。从而让它们能够在用户浏览或与其它应用交互时继续显示内容。

    这个是属于Android 7.0的新增特性,当然如果在开发中没有这个多窗口显示的需求,也灭有过多关心这个

    这里只说一下需要做适配的内容,另外Android 7.0还有另外一些新的特性,比如:

    • 号码屏蔽
    • 来电过滤
    • 通知栏快捷回复

    等等,感兴趣的可以取官网看看Android 7.0变更通知

    Android 8.0变更

    未完待续。。。。

    相关文章

      网友评论

          本文标题:Android 版本变更说明

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