Q. Link2SDの「SDカードへの移動(Androidにネイティブ)」と「リンクの作成(シンボリック)」の違いは何ですか?どの方法が最大の内部メモリを節約しますか。 " およびその逆?
ネイティブapps2sd Android 2.2(Froyo)以降、Googleはネイティブapps2SDを導入しました。このメソッドは移動します
- Android 2.2のapkファイル
- Android 2.3以降のapk + libファイル
メインFATパーティションのSDカードの安全なフォルダに保存します。
SDカードとルート権限をパーティション化する必要がないため、これが最も簡単な方法です。
ただし、欠点もあります。
最初の欠点は、アプリケーションファイルがsdcardのメインFATパーティションに格納されるだけであることです。USB大容量ストレージを有効にしてコンピューターとファイルを共有する(または外部ストレージをアンマウントまたは削除する)と、外部ストレージにインストールされて現在実行中のアプリケーションはすべて強制終了されます。大容量ストレージが無効になり、外部ストレージがデバイスに再マウントされるまで、システムはアプリケーションを事実上認識しなくなります。これにより、アプリケーションを強制終了してユーザーが利用できなくなるだけでなく、一部のタイプのアプリケーションがより深刻な方法で破壊される可能性があります。
したがって、2番目の欠点は、上記の理由により、すべてのアプリをネイティブのapps2sdメソッドで移動できるわけではないことです。アプリケーションが期待どおりに一貫して動作するために、外部ストレージがマウント解除された場合の引用された結果のため、次の機能のいずれかを使用する場合、開発者はアプリケーションを外部ストレージにインストールすることを許可しないでください:ウィジェット、サービス、アラームサービス、ライブ壁紙、ライブフォルダー、アカウントマネージャー、同期アダプター、「ブート完了」をリッスンするブロードキャストレシーバー。
強制移動(ルートが必要)。上記のようにアプリケーションが移動をサポートしていない場合でも、ネイティブのapps2SDを使用してアプリを強制的にSDカードに移動できます。ルート特権がある場合、Link2SDと他のいくつかのアプリはアプリを強制的に移動できます。ただし、上記のように、これにより一部のアプリケーションが破損する可能性があることに注意してください。
Link2SD
Link2SDは、アプリケーションのapk + dex + libファイルを2番目のパーティションに移動し、内部ストレージの元の場所にシンボリックリンクを作成します。最初の利点は、dexファイルも移動するため、ネイティブのapps2sdメソッドと比較して、内部ストレージからより多くのスペースを解放できることです。
ネイティブのapp2sdに対するLink2Sdの2番目の利点は、シンボリックリンクを作成することにより、Androidはこれらのアプリが内部メモリにインストールされていると想定することですが、実際にはすべてのファイルはSDにあります。したがって、すべてのアプリケーションをSDカードにリンクできます。ウィジェット、サービス、ライブ壁紙など、それらはすべてSDカードから問題なく動作します。
3番目の利点は、SDカードをPCにマウントしても、リンクされたアプリがすべてライブで機能していることです。Androidは最初のFATパーティションをアンマウントしてコンピューターとファイルを共有しますが、2番目のパーティションはマウントされたままです。Link2SDを使用すると、ディスクドライブとしてコンピューターにマウントされている場合でも、すべての「SDアプリ」を実行できます。
そして欠点は、明らかに、SDカードにroot権限と2つ目のパーティションが必要なことです。それはネイティブのapps2sdとして「そのまま」機能しません。デバイスをルート化し、SDカードに2番目のパーティションを自分で作成する必要があります。