あなたが筋金入りのAndroidファンなら、チャンスはデバイスの新しいテーマ、カスタムROM、およびそのようなすべてのMODを熱心に試してみることをお勧めします。主な混乱点の1つは、これらのMODに関連する用語です。これは、開発者にはかなり馴染みがありますが、初心者ユーザーにはあまり馴染みのないものです。カスタムROMおよびテーマで最もよく使用される2つの単語は「deodexed」および「zipalign」です。数日前、「deodexed」について詳しく説明しました。この記事では、探求します zipalignの意味 そして APKをzipalignする方法.

ZIPALIGNとは?
zipalignは、導入されたアーカイブ調整ツールです。1.6 Android SDK(ソフトウェア開発キット)で初めて。 Androidアプリケーションパッケージ(APK)のパッケージ方法を最適化します。そうすることで、Androidオペレーティングシステムがアプリケーションとより効率的にやり取りできるようになるため、アプリケーションとシステム全体がはるかに高速になる可能性があります。 zipalignedアプリケーションの実行時間は最小限に抑えられるため、APKを実行するときのRAM消費量が少なくなります。
どのように正確に機能しますか?
Androidオペレーティング環境では、データファイル各アプリケーションパッケージに格納されている複数のプロセスがアクセスします。たとえば、インストーラーはデータマニフェストを読み取って、関連する権限を判断します。システムサーバーは、通知の表示など、さまざまな理由でこれらのリソースを読み取ることができます。たとえば、ホームアプリケーションはリソースを読み取り、アプリケーションの名前とアイコンを取得します。 Androidは真のマルチタスクオペレーティングインフラストラクチャに基づいているため、これらのファイルは継続的かつ繰り返しアクセスされます。最後に、重要なこととして、アプリケーション自体がマニフェストデータを読み取ります。
AndroidはLinuxベースであるため、メモリマッピングはプロセスの効率的な処理における重要な役割。基本的に、Android OSのリソース処理コードの最適なアライメントは4バイト境界です。つまり、APKが4バイト境界にメモリマッピングされ、それに応じてアライメントされている場合、OSは目的のデータマニフェストに到達するためにアプリケーションパッケージ全体を「読み通す」必要はありません。すべてのシステムプロセスは、必要なリソースを探す場所を事前に知っているため、よりスムーズで高速に実行されます。
要約すると、APKをzipalignすると、すべてがパッケージ内の非圧縮データを4バイト境界に揃えて、すべての部分にメモリマップで直接アクセスできるようにします。クエリコードがアプリケーションパッケージ全体を読み取る必要がないため、実行中のRAM消費が削減されます。
未検証のAPKのデメリット
当然のことながら、状況は予約されますアライメントされていないアプリケーションパッケージ用。リソースの読み取りは遅く、メモリ使用量はスペクトルの上限になります。また、アライメントされていないアプリケーションがいくつあるかにも依存します。たとえば、ホームアプリケーションが揃っていないアプリケーションの数が少ない場合、アプリケーションの起動時間が遅くなります。これが最良のシナリオです。最悪の場合、調整されていないアプリケーションが多数あると、システムがプロセスの開始と終了を繰り返し、遅延と膨大なバッテリーの消耗に苦しみます。
それではどうしますか?
前述したように、zipalignツールは1.6以降、Android SDKの一部になりました。 SDKの「ツール」フォルダーの下にあります。使用するには、次のコマンドを実行するだけです:
zipalign [-f] [-v] <alignment> infile.apk outfile.apk
どこ infile.apk ソースファイルであり、 outfile.apk 出力ファイルです。
さらに、次のコマンドを使用してAPKファイルのアライメントを確認することもできます。
zipalign -c -v <alignment> existing.apk
どこ existing.apk 検証が必要なアプリケーションパッケージであればどれでもかまいません。また、 <アライメント> 両方のコマンドのタグは不可欠である必要があります値(それ以外の場合、コマンドは無効を返します)。この値は、任意の整数にすることができますが、常に4でなければならず、これにより32ビットのアライメントが提供されます。他の値はすべて効果的に機能しません。
最後に、これらのコマンドで使用されるフラグについては、
- -f :既存のoutfile.zipを上書きします
- -v :詳細な出力を提供します
- -c :指定されたファイルのアライメントを確認します
注意事項: zipalign操作のみを実行する必要があります 後 プライベートでAPKファイルに署名しましたキー。署名する前にzipalignedされている場合、署名手順により整列が妨げられます。 APKファイルへの他の変更、追加、削除についても同様です。 zipalignを実行した後の変更は、アライメントを元に戻します。
免責事項: このガイドは、教育目的のみを目的としています。 これは、Android開発者ツールキットに代わるものではなく、開発目的での使用を意図したものでもありません。 AddictiveTipsは、ここに提示された資料に関連するサポートを提供しません。
コメント