移植性以外に、外部ストレージにアプリを保存する他の利点(または欠点)はありますか?


26

Androidデバイスの外部ストレージにアプリを保存することには、特定の利点/欠点がありますか?Nexus Sを持っているので、ストレージを削除できないため、利点が考えられません。また、内部ストレージはニーズに十分対応できます。

電話の起動時に、すべてのアプリをUSBストレージに移動したときに、メニュー/ホーム画面にすべてのアプリを登録するのが非常に遅いことに気付きました。

また、外部メモリに保存された写真の壁紙を設定すると、すべての読み取りで実際にかなりのバッテリーが消耗していることをどこかで読みました(これはバグだったかもしれませんが)。


2
あなたはHTC電話を持っていません、あなたは小さな内部ストレージにすべての問題を抱えているわけではありません。アプリをSDに移行する本当の理由はありません。
GAThrawn

回答:


25

利点:

  • より多くのアプリをインストールするために、内部メモリの空き容量を拡張します。
    アプリの一部はまだ内部メモリ(データと設定)にとどまりますが、それでもかなりのスペースを解放します。150MBの空き容量(G1、MT3Gなど)を備えた古い携帯電話の場合、これは大きな改善です。これらのデバイスの所有者にとって、この利点は単独でこの方法がもたらす欠点を上回ります。

短所:

  • SDカードがマウントされていない場合、SDカードに移動したアプリは使用できません。
    自明のように:取り外しのためにSDカードをアンマウントする場合、カードを取り外す場合にクラッシュやデータの損失を防ぐために、SDカードにあるアプリも停止してumマウントする必要があります。
  • これらのアプリをSDカードに移動すると、ウィジェットを使用したり、アダプターを同期したりできなくなります。
    これは、上記の点から見た設計上の制限です。SDカードに保存されているアプリは必要に応じて削除できる必要があるため、ウィジェットやアカウント設定(Skype、LinkedInなど)にフックするアプリなどがクラッシュし、簡単に再起動することはできません。そのため、Googleはこれらのアプリに内部メモリを保持することを要求することで妥協しました。たとえそれらを強制的にSDカードに強制したとしても(一部のカスタムROMではこれを許可します)、単にそれらを使用することはできません。
  • システムがSDカードに保存されているすべてのアプリをマウント/アンマウントするときの起動とシャットダウンの時間が長くなります。
    SDカードに移動されたアプリは、横行する著作権侵害を防ぐために単純な場所に保存されません。代わりに、Androidはスペースを確保し、移動するアプリごとに仮想パーティションを作成します。つまり、最初の起動時に、これらの仮想パーティションに保存されているアプリにアクセスする前に、これらすべての仮想パーティションをマウントする必要があります。ハンドセットの電源をオフにしても同じことが言えます。各仮想パーティションは、他のシャットダウンプロセスが発生する前にマウント解除されます。インストールされているアプリの数によっては、起動時にシステムが「安定」するのにさらに1分以上かかる場合があります(シャットダウンするのに約20秒余分にかかります)。内部メモリ上のものよりも長くなります。
  • SDカードの余分な摩耗。
    この点は議論の余地があります。SDカードへの書き込み(摩耗を引き起こす)はそれほど頻繁には起こらないからです。それに、最近のSDカードは寿命が短いので十分に安いです。
  • この機能をサポートするには、アプリの更新が必要です。
    古いアプリにSDカードに移動する機能が自動的に付与されることはありません。開発者は、この機能をサポートするようにアプリを変更し、Market(または使用している配布方法)を介して更新を発行する必要があります。一部のカスタムROMはこれを上書きできますが、ストックファームウェアを実行しているほとんどの人にとって、これは問題です。

ギガバイトの内部メモリを備えた新しいデバイスでは、スペースが問題にならないため、アプリを外部ストレージに移動する必要はありません。ただし、メモリの少ない携帯電話では、所有者の有効期間を延ばす貴重なツールです。


別の欠点:バックアップから復元すると、復元されたすべてのアプリがメインメモリに移動します。これにより、メインメモリがいっぱいになると復元が失敗します。
メイ

1
@Davidこれは、バックアップ/復元の目的で使用しているアプリケーションに本当に依存します。より良いもの(たとえば、Titanium Backup)では、復元場所のオプションが提供され、SDカードに直接復元するか、元の場所に復元できます。
チャク

SDカードに「着用」しますか?さあ、内部ストレージの「摩耗」程度です。
ラリーバッド

31

Android開発者サイトから直接取得

  • 外部ストレージがデバイスにマウントされている限り、アプリケーションのパフォーマンスに影響はありません。
    • .apkファイルは外部ストレージに保存されますが、すべてのプライベートユーザーデータ、データベース、最適化された.dexファイル、および抽出されたネイティブコードは内部デバイスメモリに保存されます。
    • アプリケーションが保存される一意のコンテナは、ランダムに生成されたキーで暗号化されます。このキーは、最初にインストールしたデバイスによってのみ復号化できます。したがって、SDカードにインストールされたアプリケーションは、1つのデバイスでのみ機能します。
    • ユーザーは、システム設定を通じてアプリケーションを内部ストレージに移動できます。

また、外部ストレージにインストールしてはならないアプリケーション(詳細については、Android開発者サイト

  • サービス
  • 警報サービス
  • ライブ壁紙
  • ライブフォルダー
  • アプリウィジェット
  • アカウントマネージャー
  • 同期アダプター
  • デバイス管理者
  • 「ブート完了」をリッスンするブロードキャストレシーバー

17

ウィジェットは、SDカード上にある場合は機能しません。


13

SDカードにインストールされているアプリケーションは、SDカードを取り外したり、USB大容量ストレージをオンにしたりすると(コンピューターからアクセスできるように)実行できません。それが私が経験している唯一の欠点です。

SDに移行してから実際にパフォーマンスが向上しました。SDに移行する前に、内部メモリを使い果たし(数キロバイトほど残っていました)、電話はかなりひどく遅れました。SDに移動するため(したがって、内部メモリの一部のスペースが解放されるため)、ラグはなくなります。


7

一部の電話とデバイス(特に古いもの)では、内部ストレージがかなり制限されています。すべてのアプリケーション(およびそのデータファイル)は貴重なスペースを取ります。つまり、私のIdeosは512MBで、SDカードにアプリを「退避」する前にほぼ一杯でした。

もう1つの要因は、アプリとデータをバックアップする機能、またはそれらを別のデバイスに移動する機能です。

それ以外は、内部ストレージに比べて外部ストレージからのアプリの読み込みが遅いというあなたの意見は正しいです。ホーム画面にこれらのアプリのショートカットがある場合、これは非常に目立ちます。アプリがカードに配置されるまで、最初の30秒間は汎用のAndroidアイコンが表示されます。

クラス6 microSDに切り替えると(電話機に付属するデフォルトのクラス2がありました)、状況が大幅に改善されることがわかりました。それでも、コールドスタート後、電話機が「イコライズ」されるには約20秒かかります。


ああ、デフォルトのクラス2?それは厳しいです。
マシュー

5

セキュリティとパフォーマンスへの影響

外部ストレージに保存されているアプリケーションリソースは読み取り専用であるため、SDカードでアプリケーションをロードまたは起動する際のパフォーマンスの問題はありません。

From:http : //android-developers.blogspot.co.uk/2010/07/apps-on-sd-card-details.html

投稿は、「この機能に取り組んだエンジニアのスチ・アマラプラプ」によって書かれました。この機能は、アプリをSDカードに配置する機能です。


1
外部ストレージが読み取り専用である理由と、アプリケーションの起動が遅くならない理由 そのためには、読み取りパフォーマンスがより重要であると想定していました。
エリック

2

私の経験では、認識できるパフォーマンスの問題はほとんど、またはまったくありませんでした。Nexus Oneで記憶を管理するのは本当に面倒な経験でした。S2Eを使用して移行しましたが、振り返ることはありません。新しいアプリをインストールするためだけにアプリを削除する必要がないのはすばらしいことです。


-2

アプリを内部から外部に移動してもパフォーマンスに影響はないと思います。

ただし、内部ストレージではなく外部ストレージからアプリを開くために数ミリ秒余分に追加されます。走行距離は、速度、Androidのバージョンなどに応じて、デバイスごとに異なります


-2

Viber、WhatsApp、Facebookメッセンジャーなど、常に開いているサービスがあるアプリは、これらの多くが実行されている場合、UIを大幅に遅くする可能性があるため、電話で一定のサービスを持つアプリを維持することをお勧めしますメモリーは、その影響が比較すると目立たないためです。


常に実行されている場合は、メモリに読み込まれ、その最初の読み込み時間後にどこにインストールされたかは関係ありません。
マシュー

-3

アプリを外部SDカードに絶対に移動しないでください。それはあなたの電話をより遅れさせ、通常よりもゆっくりと再起動します。毎日または週に1回電話を再起動する必要があるかもしれません。これらのアプリが持つすべての情報を処理するのに時間がかかります。私は経験から話しています。


1
信頼性の低いものを提供したり、技術的な方法で回答を評価するために使用できるものを確認したりできますか?(ヒント:ベンチマーク)
Firelord
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.