Android Go初探
Android Ore(Go edition)
簡介:
Android Go並不是一個獨立的作業系統,它只是Android O的一種輕量級配置方案,專為1GB以下記憶體的機型設計,
在這種設定下,一些消耗大量資源的功能將被關閉,同時預裝的應用也是輕量級的,不會消耗大量系統資源和資料流量。Google在會上斌沒有說到相關Android Go上的功能的變化,但可以想象到,必定會有部分佔用太多資源的非必要的一些功能拿掉,如果在沒有功能缺失的情況下,入門級裝置的效能就能得到很棒的優化,那麼就不會出現Android Go, 而將會是一個非常nice的Android O。而具體的內容,需要等其釋出之後才能去一探其究。
Go版本的優化的三個方向:
1. OS
改善了整個平臺的記憶體使用情況,確保app能夠在1GB以下記憶體的裝置上高效的執行。據說,Go版本減少了大約一半的儲存空間。
2. APP
增加了新的硬體功能常量,能夠靈活區分出是為正常還是低記憶體裝置設計的應用軟體。
PackageManager.FEATURE_RAM_LOW = "android.hardware.ram.low"//RAM <= 1GB ActivityManager.isLowRamDevice() return true; PackageManager.FEATURE_RAM_NORMAL = "android.hardware.ram.normal"
Googel重新設計適合Go版本的應用, 使之佔用更少的記憶體,在低端機上有更好的表現,包括包括YouTube Go、谷歌地圖Go、Gmail Go等, 同時, 谷歌還專門為Android Go開發了幾個新應用, 比如Google Go和Files Go。Google Go是一款修改版的Google Lite應, 能夠讓使用者更容易的找到流行資訊、網站和應用程式,轉換Gif動畫和文字。而Files Go則是一款檔案管理器, 可以讓使用者管理智慧手機的儲存空間。
3. Googel Play
AndroidOreo Go平臺的Play Store商店與普通的Google+Play/">Google Play商店所有內容一樣,但更適合低儲存容量裝置。
谷歌額外增加了一個特色應用板塊,專門為Android Go裝置推薦輕便、好用、適合的應用。通過 Googel Play的一些應用為開發者
提供優化經驗和開發指南。
如何針對運行於Go版本的裝置優化APP?
為了確保應用能夠在Android Go版本上良好的執行,需要參考以下指導意見:
- 需要在manifest新增宣告:
<uses-feature android:name="android.hardware.ram.low" android:required="true"/>
- targetSdkVersion應該是Android最新的版本,Android Go裝置只能執行在API 26及其以上的版本。
- 裝置上的應用程式大小應該小於40MB。
- 應用程式記憶體使用的PPS(Proportional Set Size)不應該超過50MB,
遊戲記憶體使用的PPS不應該超過150MB。
——PSS:實際使用的實體記憶體,按比例分配共享庫佔用的記憶體。 - 應用程式的啟動時間最小,應在5s之內。
- 有效的使用記憶體(看下一標題)。
補充:通過dumpsys命令可以檢視到app的記憶體資訊,如圖,可以看到PPS值是:42168
pss1.png
如何有效的使用記憶體?
好的記憶體管理才能使APP執行得更穩定、效能更好。
減少低成本裝置上的記憶體佔用
- 動態調整記憶體的佔用,確保不同RAM裝置之間的相容。
- 利用isLowRamDevice()和getMemoryClass()來確定執行時記憶體限制,通過這些資訊,縮小記憶體的使用。
比如:在低記憶體裝置上使用低解析度的圖片。 - 管理應用記憶體(具體內容可參考Googel開發者平臺)。
避免長時間執行的程序
長時間執行的程序駐留在記憶體中,會降低裝置的記憶體,大多數情況下,APP的執行過程應該是:
通過某個事件喚醒APP;處理資料;關閉。
可以使用 Firebase Cloud Messaging (FCM) 和 GcmNetworkManager來避免長時間執行的後臺服務,減少裝置的記憶體壓力。
記憶體使用的檢查
利用Android Studio提供的Memory Profiler tool,能夠在裝置執行時監控記憶體的使用情況。
可以幫助捕獲無意的記憶體佔用增長,使用該工具執行以下操作:
找出不希望的GC事件是否會導致效能問題。
識別無必要地獲取或保持分配的物件型別。
確定程式碼中可能存在問題的地方。
ofollow,noindex">http://blog.csdn.net/wsq_tomato/article/details/78934573