図2(b)に減少し、400以上のkの大きさから、APPは、どのように私の最適化がありますか?

図2(b)に減少し、400以上のkの大きさから、APPは、どのように私の最適化がありますか?

序文

アンドロイドアンドロイドAPKサイズの最適化におけるパフォーマンスの最適化のために主にこの記事

速度が非常に速く、だけでなく、ユーザートラフィックの多くあったが、私たちのAndroid APKファイルの最適化のために行われているが、すべてでは、まだ非常に必要であるユーザーエクスペリエンスのサイズのメガバイト数十非常に悪い回し、ここでは整理するために来ますAndroidのAPKの最適化について

使用をSVG、アイコンアイコン

私たちの解像度のファイルは、アイコンの複数のセットを配置する必要があるかもしれないので、それが私たちのAPKファイルのサイズが非常になったようになります。この方法は我々のアプリで多くのアイコンとなり、そしてアーティストは、一般的に小さなjiejieのセットです大きいので、プロセスを最適化するための最初のステップは、アイコンから起動します。

  • SVGファイルのアイコンの代わりに、PNGファイルを使用してみてください

まず、SVGファイルはXMLファイルは途中、小さなフットプリントで存在しており、自動的に拡張デバイスの画面に応じて歪むことはできません。

アンドロイド自体が直輸入SVGファイルをサポートしていないので、次のように、我々は場合SVGファイルを変更する必要があります。

図2(b)に減少し、400以上のkの大きさから、APPは、どのように私の最適化がありますか?

図2(b)に減少し、400以上のkの大きさから、APPは、どのように私の最適化がありますか?

次のように使用します。

 <ImageView
        android:layout_marginTop="100dp"
        android:layout_gravity="center_horizontal"
        android:layout_centerInParent="true"
        android:src="@drawable/ic_icon_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />

或者

 <ImageView
        android:layout_marginTop="100dp"
        android:layout_gravity="center_horizontal"
        android:layout_centerInParent="true"
        app:srcCompat="@drawable/ic_icon_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />

二、色合いシェーダを使用して、アイコンの状態部門

色合いシェーダは、さもなければ、異なる色の複数の同一画像の場合に必要な、異なる表示色画像の色合いを使用して、カラー画像を可能にし、APKの量を低減することができます

次のようにUIの効果は次のとおりです。

図2(b)に減少し、400以上のkの大きさから、APPは、どのように私の最適化がありますか?

これは、同じ画像の効果は異なる、注

次のように使用します。

加上一行代码    android:tint="@color/colorAccent"

 <ImageView
        android:layout_marginTop="100dp"
        android:layout_gravity="center_horizontal"
        android:layout_centerInParent="true"
        android:src="@drawable/ic_icon_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:tint="@color/colorAccent"
        />

第三に、異なるサイズのアイコンセットを必要に応じて、使用してSVG

Androidのスタジオ独自の機能は、必要なサイズのアイコン、パッケージの対応する次元画像をpngのときに自動的に生成した自己設定することができます。

次のように使用してください:
のdefaultConfigタグbuild.graldleアプリの下で:

 defaultConfig {
        applicationId "com.example.apk"
        minSdkVersion 19
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        //minSdkVersion 19 (5.0)
        vectorDrawables.generatedDensities('xhdpi','xxhdpi','xxxhdpi')
        //minSdkVersion > 19
      //  vectorDrawables.useSupportLibrary = true
    }

この時点で、描画可能なファイルは、次のように:

図2(b)に減少し、400以上のkの大きさから、APPは、どのように私の最適化がありますか?

次のようにパッケージした後です。

図2(b)に減少し、400以上のkの大きさから、APPは、どのように私の最適化がありますか?

図2(b)に減少し、400以上のkの大きさから、APPは、どのように私の最適化がありますか?

その後、APPの唯一のマップは、問題によって引き起こされるマップのapk体積増加の複数のセットを解決することができる必要があります

第四に、アプリの大きな画像圧縮で、画像形式のWEBP

画像フォーマットの画像読み込み速度の開発を加速するために設計されたGoogleのをフォーマットWEBP。JPEG画像圧縮量はわずか約2/3であり、サーバのリソースやデータブロードバンド多くのスペースを節約することができます。

次のように使用します。

図2(b)に減少し、400以上のkの大きさから、APPは、どのように私の最適化がありますか?

変換前と後の比較

図2(b)に減少し、400以上のkの大きさから、APPは、どのように私の最適化がありますか?

未使用のリソースを削除するV.

  • キーが削除される(推奨されません)

動的なリソースIDを使用するが表示された場合の質問にロードされますが、あなたが削除したら、それは物理的に削除され、未使用のリソースを削除するための鍵が持ち帰ったされますので、使用しないようにしようとすることはできません、ファイルRES事前にバックアップを使用する必要があります。

以下を使用

図2(b)に減少し、400以上のkの大きさから、APPは、どのように私の最適化がありますか?

図2(b)に減少し、400以上のkの大きさから、APPは、どのように私の最適化がありますか?

図2(b)に減少し、400以上のkの大きさから、APPは、どのように私の最適化がありますか?

図2(b)に減少し、400以上のkの大きさから、APPは、どのように私の最適化がありますか?

  • 最適化// Zipalignで、shrinkResourcesが削除される使用

使用shrinkResourcesは、最初のコードの難読化をオンにする必要がありますminifyEnabled

次のように使用します。

buildTypes {
        release {
          //开启代码混淆
            minifyEnabled true
           //Zipalign优化
            zipAlignEnabled true
            //移除无用的resource文件
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

次のような効果をパックした後です。

図2(b)に減少し、400以上のkの大きさから、APPは、どのように私の最適化がありますか?

そこに絵。しかし、図2(b)になる400以上kの大きさが、

シックス・リソースパックセット

このようAPPCOMPAT-V7ライブラリの導入などのサードパーティのライブラリの導入は、国際的なリソースを大量に含まれているので、彼らのビジネスに応じた適切な保存と削除を行うことができます

オリジナルのパッケージ次のように:

図2(b)に減少し、400以上のkの大きさから、APPは、どのように私の最適化がありますか?

そこ国語の元のパッケージがあるので、我々は、一般的に唯一の中国を維持する必要があることができ、次のような構成は次のとおりです。

 defaultConfig {
        applicationId "com.zthx.xianglian"
        minSdkVersion 19
        targetSdkVersion 28
        versionCode 1
        versionName "1.0.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        //只保留指定和默认的资源
        resConfigs('zh-rCN','ko')
}

以下のように設定した後です。

図2(b)に減少し、400以上のkの大きさから、APPは、どのように私の最適化がありますか?

七の動的ライブラリパッケージの構成

プロジェクトは、サードパーティのSDKまたは直接NDKを使用してが含まれている場合は、自動的にAPKに、動的ライブラリパックの完全なCPUアーキテクチャを構成していない場合、および実際のマシンのために、ちょうどそれにarmeabiまたはarmeabi-v7aを維持する必要があるので、それができますコンフィギュレーションで

  //配置so库架构(真机: arm ,模拟器 x86 )
 ndk {
            abiFilters "armeabi", "armeabi-v7a"
        }

八、オープン圧縮コードの難読化

 buildTypes {
        release {
           //源代码混淆开启
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

コードの難読化の設定については、理解していない、と言うことではないよりあった彼らを見つけるためにオンラインで行くことができる独自の

あなたはその後、少なくとも半分に減らし、あなたのAPK視覚的なボリュームダウンこの8つのプロセスは、この素晴らしい最適化をしようと急いで、任意の最適化のAPKを行っていない場合はこれまでのところ、8つのAPK究極の最適化ステップは、以上であること

エンディング

わかりましたので、ここで終わりにするの記事は、あなたが良い感じている場合賞賛の聖歌を与えますか?あなたが改善することが必要と思われる場合は、私にメッセージをお願いします。深刻なお問い合わせ、補正不足になります。ありがとうございます。

私はあなたのサポートに感謝する、乾貨物の技術を更新しますあなたがこれを読んで、自分の将来を共有することを楽しみにしていますことを願って!

+ +転送親指の注目は、最初の時間は、最新の知識ポイントを取得します

道路のAndroidの建築家は長い間、それでお互いを奨励されます!

最後に、私は〜あなたにすべての幸せな生活をしたいです

図2(b)に減少し、400以上のkの大きさから、APPは、どのように私の最適化がありますか?

おすすめ

転載: blog.51cto.com/14332859/2438601