Android Goの低メモリデバイスには複数のアニメーションまたは機能があります。IsLowRamDeviceStatic()はデフォルトでは有効になっていません

Android Goの低メモリデバイスには、デフォルトで有効になっていない複数のアニメーションまたは機能があります

たとえば、アプリケーションのウィンドウ処理機能、

res / values-zh-rCN / strings.xml:4323:    

<string msgid = "3557117039415422481" name = "disabled_feature_reason_slow_down_phone"> "この機能は電話の速度を低下させるため、この機能はオフになっています" </ string>

res / layout / manage_applications_apps_unsupported.xml:43:            android:text = "@ string / disabled_feature_reason_slow_down_phone"
 
src / com / android / settings / applications / manageapplications / ManageApplications.java:337:            
    @オーバーライド
    public View onCreateView(LayoutInflater inflater、ViewGroup container、
            バンドルsavedInstanceState){
        if(mListType == LIST_TYPE_OVERLAY &&!Utils.isSystemAlertWindowEnabled(getContext())){
            mRootView = inflater.inflate(R.layout.manage_applications_apps_unsupported、null);
            setHasOptionsMenu(偽);
            mRootViewを返します。
        }
……
 
查看packages / apps / Settings / src / com / android / settings / Utils.java
    / **
     * SYSTEM_ALERT_WINDOW権限が利用可能な場合はtrueを返します。
     * Q以降、RAMの少ない電話ではSYSTEM_ALERT_WINDOWが無効になります。
     * /
    public static boolean isSystemAlertWindowEnabled(Context context){
        // SYSTEM_ALERT_WINDOWは、Qから始まる低RAMデバイスでは無効になっています
        ActivityManager am =(ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
        return!(am.isLowRamDevice()&&(Build.VERSION.SDK_INT> = Build.VERSION_CODES.Q));
    }
メモによると、Android Q以降、SYSTEM_ALERT_WINDOWシステムポップアップウィンドウはメモリの少ないデバイスでは禁止されています
 
frameworks / base / core / java / android / app / ActivityManager.java
 
    プライベート静的最終ブール  DEVELOPMENT_FORCE_LOW_RAM  =
            SystemProperties.getBoolean( "debug.force_low_ram"、false);
 
    / **
     *これが低RAMデバイスの場合、trueを返します。デバイスが低RAMであるかどうか
     *最終的にはデバイス構成次第ですが、現在は一般的に
     * RAMが1GB以下のもの。これは主にアプリが使用することを意図しています
     *より多くのRAMを必要とする特定の機能をオフにするかどうかを決定します。
     * /
    public boolean isLowRamDevice(){
        isLowRamDeviceStatic();を返します。
    }
 
    / ** @非表示* /
    @UnsupportedAppUsage
    public static boolean isLowRamDeviceStatic(){
        RoSystemPropertiesを返します。CONFIG_LOW_RAM  ||
                (ビルド。IS_DEBUGGABLE  &&  DEVELOPMENT_FORCE_LOW_RAM);
    }
 
frameworks / base / core / java / com / android / internal / os / RoSystemProperties.java
    public static final boolean  CONFIG_LOW_RAM  =
            SystemProperties.getBoolean( "ro.config.low_ram"、false);
 
frameworks / base / core / java / android / os / Build.java
    / **
     *「user-debug」や「eng」などのデバッグビルドを実行している場合はtrueを返します。
     * @非表示
     * /
    public static final boolean  IS_DEBUGGABLE  =
            SystemProperties.getInt( "ro.debuggable"、0)== 1;
 
上記の低メモリバージョンに関連するプロパティSystemProperties設定
31件の元の記事を公開 いいね6 10,000人以上の訪問者

おすすめ

転載: blog.csdn.net/u012824529/article/details/103776971