0

タロット占いをiPhoneからアンドロイドに移植しようとしています。約 19 mb を占めるすべての縮小されていない画像を配置しました。Androidには通常512 MBのRAMがあると想定していましたか?全体のサイズが約 20 MB の場合、アプリがロードされないのはなぜですか?? 画像を縮小したため、メモリは約 8 MB に減少し、問題なくロードされました。

メモリ管理がどのように機能するか、または適切なリンクを知っている人はいますか? サウンドエフェクトとグラフィックを追加する予定です。apk がロードされないことが心配です。

4

2 に答える 2

1

Android では、各アプリには限られた量のメモリが割り当てられ、その中で動作します。通常は 16MB から 24MB の範囲で変化し、通常、古いデバイスでは低くなります。これを回避するために、ゲームでは多くの場合、OpenGL テクスチャが使用されます。これは、メモリ制限である IIRC にカウントされないためです。さらに、NDK からメモリを割り当てると、この制限を回避できますが、あまり便利ではありません。

タグに android:largeHeap="true" を追加して、より多くのメモリを割り当てることができますが、3.X 以降でのみ機能します。

于 2012-06-12T16:42:13.827 に答える
0

まず第一に、画像がディスク内でわずかなスペースを占めるからといって、それが表示されているときに同じ量のメモリを使用するわけではありません。画像が (概算で) 使用するメモリ量を計算するには、 を実行しますH x W x 4。次に、Android によって課せられる制限があります。これは、画面サイズによって異なります (16 MB 以上ですが、それ以上ではありません)。一般に、全画面表示できる画像はほとんどありません。また、画像はおそらく電話の画面よりもはるかに大きいため、メモリの消費を抑えるために画像をダウンサンプリングする必要があります。ここSOには、その主題をカバーする多くの情報があります。

于 2012-06-12T16:50:11.230 に答える