Android N作了啥

Android N作了哪些改變html

1、    性能改善java

  1. Doze超級省電模式

手機在關屏同時沒有充電的狀況,在一段時間後會進入打盹狀態,第一階段會停掉同步、做業、網絡等訪問,第二階段會停掉app的位置服務、wifi scanner、GPS、wake lock、AlarmManager 等服務。android

會影響app的保活,尤爲對那些須要接受消息類的app,引導用戶開啓白名單,Google 推薦使用GCM。api

  1. 後臺優化

廣播:安全

   靜態註冊CONNECTIVITY_ACTION 廣播將失效,只有動態註冊才行。Android 5.0上可使用JobScheduler在指定的網絡條件運行你的任務,還能夠經過ConnectivityManager registerNetworkCallback()來監聽網絡狀態。網絡

ACTION_NEW_PICTURE,ACTION_NEW_VIDEO廣播已經去除,固然應用能夠經過ContentResolver來監聽。Android N上面能夠JobScheduler來監聽app

2、    NDK 試用改變ide

限制只能試用平臺公共api,不然你的應用會crash,最好只使用NDK中包含的api,不然系統被定製了可能會找不到你要連接的so,其次使用第三方so的時候也要注意對方有木有試用非法的so.性能

如圖:優化

3、    Screen Zoom

 

 

用戶最低能夠改變到屏幕寬度爲320dp,因此app最好能適配sw320dp,當你的 compile target < android N 時,當用戶改變屏幕顯示大小時,會殺掉後臺進程(你的app會被幹掉哦)

4、    Language and Locale

支持多用戶多語言環境,提供新的API: LocaleList.GetDefault(),能夠獲取全部用戶的語言環境。

同時app多語言查找策略改變,當你的app中不在當前語言環境的resources時,會找最接近的語言代替,而不是直接使用默認語言代替。如:你的app的Resources中只包含 es,和zh_cn,當用戶的環境是zh_tw時,會用zh_cn代替。而且還支持自定義語言目錄。

 

5、    Multi-Window Support

Android N機器上默認就支持Multi-Window,同一個屏幕能夠運行多個app窗口。有兩種模式,split-screen mode和picture-in-picture mode。app開啓和關閉這兩個模式很方便,在AndroidManifest.xml配置一下便可。

android:resizeableActivity=["true" | "false"]

android:supportsPictureInPicture=["true" | "false"]

這種模式在平板電腦上面很合適。

 

6、Notifications

Android N提供一些新的關於Notifications的API。

RemoteInput.Builder:使得用戶能夠在通知欄直接回復,這個很適合社交類app和短信app,以及能夠應用到用戶反饋中。

 

NotificationCompat.Builder.setGroup():可使同一個app通知放在同一個分組。

 

NotificationManager:能讓你知道你目前發了多少條通知,怎樣通知進行分組。

7、Data Saver

當用戶開啓流量節省後,會禁止app在後臺使用收費網絡流量數據。甚至在前臺使用流量時也會發出警告。

ConnectivityManager.isActiveNetworkMetered(),

ConnectivityManager.isActiveNetworkMetered(),

查詢是否開啓流量節省模式,本身是否在用戶白名單中(對本身例外)

ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED

監聽用戶開啓流量節省模式

8、Network Security Configuration

能讓app定製網絡安全設置:

  1. Debug-only overrides自定義信用的CA)。
  2. Debug-only overrides自定義能調試你app信用的CA)
  3. Cleartext traffic opt-out(防止網絡請求明文交互)
  4. Certificate pinning自定義只信用包含特定公鑰CA)

這個特性,對於支付類軟件、金融類和購物類等是福音啊,防止劫持,防止重定向。

這些配置不須要你改代碼,只須要加上配置文件便可。

 

 

9、運行時模式

AOT、解釋、JIT混合運行時模式 

10、其餘

   部分支持ICU4J(能很好支持國際化本地化數據展現)。

   支持java 8語言特性(lambda表達式可使用啦) -- android 本身的編譯器jack&jill支持java 8 

 

總之:Android N爲用戶增長了電量管理、流量管理、內存管理、存儲管理、通知管理等,提供更加可靠的安全能力,知足用戶個性化需求,提升了app用戶體驗,改善手機使用性能,方便了app開發者。

 

參考連接:

https://developer.android.com/intl/zh-cn/preview/j8-jack.html

http://developer.android.com/intl/zh-cn/preview/samples.html

https://developer.android.com/intl/zh-cn/training/monitoring-device-state/doze-standby.html

http://www.pcpop.com/doc/2/2571/2571412.shtml

相關文章
相關標籤/搜索