[DESCRIPTION]
目前L版本上有的客户项目配置需求低,如GMO project ,FOTA升级因为ROM低导致的apk升级不了,等都需要降低ROM大小;而ART优点就是Performance好,缺点就是ROM空间占用较多。目前针对这个提出几种降低ROM的测试方法。
[SOLUTION]
1.如果是采用预置如开启WITH_DEXPREOPT:=true这个宏而导致data区占用空间过大。
请先参考“[FAQ14132]开启WITH_PREODEX之后,如何减少第一次开机之后data分区的大小”,一般 均可达到要求。
2.
User版本直接采用修改ART mode来测试ROM以及Performance效果:
1) art 可以调整4种mode来测试:
![](https://onlinesso.mediatek.com/FAQ%20PDF%20Picture%20Library/2015/0831//896101f6-62cf-4b59-be76-dfed48cdddf9.png)
PS:采用interpreter-only,意味着生成的新dex文件,只有解释执行的那部分,没有aot的部分,即没有采用汇编直接执行的那部分,所以其所占的空间比较小。但是整体性能包括app lunch time应该是最差的。這針對所有的 apk。
2)
可以修改/art/dex2oat/dex2oat.cc
PS: 這也是針對所有的 apk ,但是就节省空间上来说"interpret-only" > "space" > "balanced"
性能上来说正好相反"interpret-only" < "space" < "balanced"
3) 测试数据
MT6580/512RAM/4G ROM /ALPS.L1.MP6.V2/user
3.
提供一种只针对特定的APK进行进行处理优化方法:
![](https://onlinesso.mediatek.com/FAQ%20PDF%20Picture%20Library/2015/0831//b91e1297-1636-4562-8dad-12d4755ac663.png)
![](https://onlinesso.mediatek.com/FAQ%20PDF%20Picture%20Library/2015/0831//a2b05d2e-5802-48d9-9541-121ec3139f64.png)
![](https://onlinesso.mediatek.com/FAQ%20PDF%20Picture%20Library/2015/0831//d03d79ee-37fe-4b3f-b081-b7b0c25c77ca.png)
修改/art/dex2oat/dex2oat.cc:
注释:
1) 这里是以 facebook 為例,其中oat_location 就是 oat 的 full path (不是 apk 的路徑,而是最终產生的 oat 的路徑,不過因為也會包含原本的 apk 路徑)
2)可以用 adb shell ls -l /data/dalvik-cache/arm 或是adb shell ls -l /data/dalvik-cache/arm64去找最大的 dex file,再加到這裏就可以了。
2)可以用 adb shell ls -l /data/dalvik-cache/arm 或是adb shell ls -l /data/dalvik-cache/arm64去找最大的 dex file,再加到這裏就可以了。