Androidアプリケーションでのメモリ使用に関する推奨制限はありますか?それは40MB以下でなければなりません..時には、私のアプリケーションでは、重いアイテム(ビデオ付きのニュースフィード)をrecyclerviewに読み込むときに、Androidモニターで最大100MBを使います。 。Androidアプリケーションでのメモリ使用の推奨制限はいくらですか?
0
A
答えて
3
可能な限り少し使用してください。
複数の実行中のプロセスを可能にするには、Androidはアプリごとalloted ヒープサイズのハード制限を設定します。正確なヒープサイズの上限は、デバイスが利用可能なRAMの量に基づいて 全体で になります。あなたのアプリがヒープ容量に達して、 にさらにメモリを割り当てようとすると、システムはOutOfMemoryErrorを投げます。
メモリが不足しないように、現在の デバイスで利用可能なヒープスペースを確認するには、システムに を問い合わせることができます。 getMemoryInfo()を呼び出すことによって、この図のシステムを照会することができます。これは、戻り利用可能なメモリ、総メモリ、およびシステムは、プロセスを強制終了し始める下にメモリ閾値 メモリレベルを含むデバイスの現在のメモリ状態についての情報を提供 、 オブジェクト ActivityManager.MemoryInfo。 ActivityManager.MemoryInfoクラスも、単純なブールフィールド、デバイスはメモリが不足しているかどうかを示します lowMemoryを公開します。
次のコードスニペットは、 getMemoryInfo()を使用する方法の一例を示しています。メソッドを呼び出します。
public void doSomethingMemoryIntensive() {
// Before doing something that requires a lot of memory,
// check to see whether the device is in a low memory state.
ActivityManager.MemoryInfo memoryInfo = getAvailableMemory();
if (!memoryInfo.lowMemory) {
// Do memory intensive work ...
}
}
// Get a MemoryInfo object for the device's current memory status.
private ActivityManager.MemoryInfo getAvailableMemory() {
ActivityManager activityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
activityManager.getMemoryInfo(memoryInfo);
return memoryInfo;
}
は、詳細については、このlinkを参照してください。
1
一般的な推奨事項はできるだけ少なくすることです。 これを達成する方法は?
- は(ほとんどの場合、あなたがPicasso、FrescoまたはGlideのような第三 パーティのライブラリを使用する場合があります)を適切ビットマップを処理します。
- android-studioのヒープダンプを使用して、RAMを消費しているものを分析して、アクティビティのリークをチェックします。
- あなたは、ネットワークから大量のデータを要求しているなら、あなたはflatbuffersで見ることができ、それらは深いビューを使用していないネットワーク要求
- のメモリフットプリントとペイロードが
関連する問題
- 1. androidアプリケーションのCPUと実際のメモリ使用量の制限はいくらですか?
- 2. Cocos2dのメモリ管理に推奨される制限はありますか?
- 3. Crateホストの推奨メモリ要件はどれくらいですか?
- 4. アプリケーションで使用できるメモリの制限
- 5. Asp.netコアでのメモリ使用の制限
- 6. SqlBulkCopyの推奨バッチサイズはどれくらいですか?
- 7. 推奨アプリケーションInsightsボットのアプリケーションタイプですか?
- 8. 制限メモリの使用Unix
- 9. RestHeartのjvmメモリの推奨設定は何ですか?
- 10. ESLint:anglejsアプリケーションで推奨されるデフォルトのルールを使用する
- 11. アーキテクチャサブアプリケーションを使用したWebアプリケーションの推奨事項/推奨事項
- 12. .netアプリケーションのメモリ使用を制限する
- 13. ASP.NETでのサーバーサイドインクルード(Mono、おそらく):非推奨ですか?
- 14. Android PixelXorXfermodeは非推奨です
- 15. Androidウェア - WatchViewStubは非推奨です
- 16. Android setOnMyLocationChangeListenerは非推奨です
- 17. ウィジェットに使用できるメモリ制限はありますか?
- 18. Flash Player 11で使用可能なステージサイズの制限はいくらですか?
- 19. JMF Playerのメモリ使用量を制限できますか?
- 20. .net SDKのAWSクライアントの推奨寿命はどのくらいですか?
- 21. マインド推奨のためのメモリ内データベース
- 22. C#でC++ DLLからコールバックを取得する際のWinXPのメモリ制限はいくらですか?
- 23. マイクロソフト認知サービス - 推奨APIの制限が
- 24. Ruby CLIアプリケーションの推奨レイアウト
- 25. インスタンス数だけでなく、メモリ内キャッシュのメモリ使用を制限するJavaキャッシュはありますか?
- 26. MessageBoxはMVVMアプリケーションでは推奨されていませんか?
- 27. iTunes Connectアプリケーションの実際のファイルサイズ制限はいくらですか?
- 28. {%block extraBody%}の推奨/推奨使用方法
- 29. Android LocationServices.FusedLocationApi非推奨
の推薦がある階層減少します:ようにできるだけ少ない... – Selvin