ドロウアブルのメモリ、それはAPKの外に、APK内のリソースを持っている方が良いですかそれはメモリに同じですか?

StackOverflow https://stackoverflow.com/questions/2005916

  •  18-09-2019
  •  | 
  •  

質問

私はグラフィックスの多くを描画し、それらを変更するアプリケーションを持っています。 私は多くのグラフィックスを持っているので、私は必要に応じて、インターネットからダウンロードしたAPK、外部の画像を有していると考えられており、ファイルのアプリケーションフォルダに保存されます。

しかし、私はのOutOfMemory例外を取得するために開始します。

質問です:?いアンドロイドハンドルメモリ異なる私は「ディスク」からそれをロードする場合よりも、APKからグラフィックを読み込む場合は、

APKを使用してコード:

  
    

topView.setBackgroundResource(R.drawable.bg);

  

のコードイメージはAPK外である場合:

  
    

描画領域D = Drawable.createFromPath(パス名)。     topView.setBackgroundDrawable(D)

  

おかげ

ダニエル

役に立ちましたか?

解決

いいえ、内部的には同じように処理されます。ほとんどの場合、あなたは画像をリークしている、または早くあなたができる限り、それらをクリーンアップしません。あなたはそれをクリーンアップするには、Androidを強制するために、画像を完了したらBitmap.recycle();を呼び出してみます。

他のヒント

実行時には、あなたが見ているメモリフットプリントは関係なく、あなたがそれをロードした方法とほぼ同じであってはなりません。 Androidはロード時間を改善する必要がありAPKに内部リソースをバイト整列するユーティリティを使用します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top