当前位置:   article > 正文

adb安装模式修改为speed模式、_adb speed模式

adb speed模式

 

frameworks/base / services/core/java/com/android/server/pm/PackageManagerService.java

  DexoptOptions dexoptOptions = null;

            if ((installFlags & PackageManager.INSTALL_FROM_ADB) != 0) {
                dexoptOptions = new DexoptOptions(pkg.packageName,
                    "speed",
                    DexoptOptions.DEXOPT_BOOT_COMPLETE);
            }
            else {
               dexoptOptions = new DexoptOptions(pkg.packageName,
                    REASON_INSTALL,
                    DexoptOptions.DEXOPT_BOOT_COMPLETE);
            }
 

关于应用编译compilation_filter模式说明一下:

1:目前google默认的APK的编译方式compilation_filter为quicken,quicken这种编译模式,空间和内存占用都相对比较小,只是会影响启动速度,并且系统在使用一段时间,或在apk后续有版本更新的时候,APK的编译模式会变成speed-profile模式。总体来说quicken模式还是一种大多数用户和研发公司可以接受的一种编译模式。

speed的编译模式需要占用的空间和内存都比较大。如果将所有应用都修改为speed模式,系统空间system.img将会增大不少。

2:手动修改编译compilation_filter方法的命令如下:

cmd package compile -m speed -f com.google.android.youtube

 

3:如果只是某个应用启动时间长,可以针对某个应用修改它的编译模式。在android.mk文件中做如下修改即可。

 

4:所有apk的编译模式都修改为speed,在core/dex_preopt_odex_install.mk文件中做如下修改

ifeq (true,$(LOCAL_DEX_PREOPT_GENERATE_PROFILE))
        # For non system server jars, use speed-profile when we have a profile.
        LOCAL_DEX_PREOPT_FLAGS += --compiler-filter=speed-profile
      else
        # If no compiler filter is specified, default to 'quicken' to save on storage.
        ifneq ($(strip $(MTK_GMO_ROM_OPTIMIZE)), yes)
            LOCAL_DEX_PREOPT_FLAGS += --compiler-filter=speed
        else
            LOCAL_DEX_PREOPT_FLAGS += --compiler-filter=quicken

        endif
      endif
    endif

 

5:某个应用需要odex,需要在android.mk文件中做如下修改即可

LOCAL_DEX_PREOPT := true

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/266397
推荐阅读
相关标签
  

闽ICP备14008679号