-3

私は、そのサイズがわずか600Koであることを知って、電話のストレージをいっぱいにするアプリケーションを開発しました。

この問題はエミュレーターでのテスト中に発生したため、解決策はエミュレーターのストレージ容量を増やすことでした。

しかし今、私はスペースが169Mo / 181Mo:sにあるときに電話でテストし、データ/データにアクセスできないことを知っているので、メモリがどれほどクリアかわかりません

2つ目は、アプリケーションコードでこの問題を解決する方法がわからないことです。

編集:

コメントなしで私には何の意味もありません!

私の英語が悪いのは私がフランス語を話すからです

4

1 に答える 1

1

ルイセンプリーニの反応:

この質問を投稿していただきありがとうございます。一部の開発者に役立つ可能性のある追加の洞察がいくつかあります。

(エミュレーターではなく)デバイスでアプリケーションをデバッグしています。デバイスの/dataには21MBの空き容量があり(「adbshel​​l」を実行すると「df」で表示されます)、私のアプリはわずか5MBです。ただし、デバイス上の他のアプリを削除すると(電話を再起動したり、adbdを再起動したりせずに)、INSTALL_FAILED_INSUFFICIENT_STORAGEがしばらく消えてから、戻ってくることがわかりました。

したがって、5MBのアプリをデバッグするには/ dataに20MBのスペースが必要であり、さらにアプリをデバッグするたびに何かがリークしていたようです。

そこで、「adb shell」を実行して、/dataディレクトリ全体を次のようにリストしました。

cd /data
ls -a -l -R

5000行の出力を見て、すべてのスペースがどこに向かっているのかを確認しました。

/ data / klogディレクトリのデバイスで、数か月前のデバッグセッションからの古いログファイルの形式で大量の無駄なスペースを発見しました。

これらは私のログファイルではありませんでした。Androidインフラストラクチャの一部によって作成されました。

私はそれらを削除し、設定アプリで特定のアプリに起因しない58MBを即座に保存しました。私は小さなデバイスを持っているので、58MBは非常に重要です(約40%)。

これまでのところ、何度も実行した後、INSTALL_FAILED_INSUFFICIENT_STORAGEを再度取得していません。それが本当の問題であったことを期待しましょう。ただし、OPは、彼のデバイスに十分なスペースがあることを示唆しています(ただし、どれだけの容量はありませんでした)。

うまくいけば、定期的に/ data / klog / *を削除することで、INSTALL_FAILED_INSUFFICIENT_STORAGEを回避できるようになるでしょう。

ls -a -l -Rまたは、実際に(隠された)スペースの問題がある場合は、少なくともin / dataを実行して、すべてのスペースがどこに向かっているのかを確認できます。

PS:

そして、コメントなしで下に置いた人たちに、正しいコミュニケーション方法を学ぶために行くように勧めます

于 2012-04-14T12:42:08.650 に答える