11

Android アプリが一定量のメモリを取得することに依存できますか、それとも電話のモデルや OS のバージョンによって異なりますか?

たとえば、メモリ キャッシュがあり、その制限を 5 MB に設定したとします。あるデバイスでは、アプリが 8 MB のメモリしか使用できず、別のデバイスでは 24 MB しか使用できない場合、メモリ キャッシュの上限を調整して、多かれ少なかれメモリを活用したいと考えています。

これを把握する方法はありますか、金額も異なりますか?

4

2 に答える 2

19

はい、最大ヒープ サイズはデバイスによって異なります。を呼び出して、デバイスのおおよそのアプリケーションごとのメモリ クラスを確認できますgetMemoryClass()

現在のデバイスのおおよそのアプリケーションごとのメモリ クラスを返します。これにより、システム全体が最適に機能するために、アプリケーションに課すメモリ制限の厳しさがわかります。戻り値はメガバイト単位です。ベースラインの Android メモリ クラスは 16 です (これはたまたま、これらのデバイスの Java ヒープ制限です)。より多くのメモリを搭載した一部のデバイスは、24 またはそれ以上の数値を返す場合があります。

アプリのヒープ サイズを変更する唯一の組み込みの方法はandroid:largeHeap="true"AndroidManifest.xml. これにより、通常、ヒープ サイズが 48 から 128 に増加します。このアプローチは 3.x タブレットでのみ機能することに注意してください。それ以外の場合は、ルート化されたデバイスが必要になります。これは明らかに、開発者として信頼したいものではありません.

于 2012-05-25T01:03:21.487 に答える
0

それはあなたを助けるかもしれません

16 MB は、特定の Android アプリケーションに与えられる最大メモリ制限です。一部の第 2 世代の電話では、プロセスごとに 24 MB またはそれ以上のメモリが返されます。

Androidの各プロセスまたはアプリケーションに与えられた最大メモリ制限は何ですか?

于 2014-09-25T12:45:06.563 に答える