Android 7.0

weixin_34402408發表於2016-03-16

1.在AndroidManifest檔案中增加了一種叫做android:resizableActivity的屬性值,並把這個值設為true,我們的應用的Activity將可以以分屏模式的形式呈現在手機或平板上(對於使用者來說比較炫酷的功能)

2.Notification支援分組 通過在Notification的Builder裡新增setGroup即可讓通知歸納到一個分組裡面

3.7.0版本下 使用者可以限制應用的流量 對於後臺應用 流量完全禁用 而對於前臺 系統會示意其減少流量的使用
通過ConnectivityManager的getRestrictBackgroundStatus()方法判斷使用者設定的資料使用限制。

該方法返回三種值:
RESTRICT_BACKGROUND_STATUS_DISABLED 沒有啟用
RESTRICT_BACKGROUND_STATUS_ENABLED 啟用
RESTRICT_BACKGROUND_STATUS_WHITELISTED 啟用了但是在白名單中
可通過建立廣播監聽ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED ("android.net.conn.RESTRICT_BACKGROUND_CHANGED")來實現對使用者改變節約資料選項的監測。

(哈哈哈 後臺流氓應用越來越沒有活路了 有種你繼續推送啊)

4.支援ICU4J庫和JAVA8
前者是一個Java工具庫 後者則新增了諸如Lambda表示式 預設方法(介面)等特性

5.Jack編譯器
特性:開源,減少編譯時間,減肥混淆重打包分包功能一體化

一個jack檔案分為四個部分:
jayce:代表JACK IR
Pre-dex:二進位制的java原始檔
Resources:庫所依賴的所有資原始檔
Meta:jack所需要的後設資料

對於.jar檔案 Jack提供了Jill工具負責將.jar檔案中的class檔案和資原始檔分離並重新打包成Jack檔案

Jack編譯器在啟動的時候會自動開啟一個服務 以縮短每次都需要啟用JVM、載入Jack碼、初始化Jack編譯器和初始化JIT所帶來的時間消耗
Jack服務預設使用8072和8073這兩個TCP埠 對於服務的配置可以通過修改$HOME/.jack進行

在使用依賴庫的時候 Jack會預打包他們 並且在編譯的時候重用pre-dex(二進位制的java原始檔)
增量編譯功能 只對發生修改的元件所依賴的庫進行重編譯
以上兩個功能只有在不開啟multidex(分包) repackging shrinking(減肥)和obsecuration(混淆)的時候才能使用

相關文章