私は、インターネットから音楽をストリーミングするアプリを開発しています...私のアプリは多くのことを行い、このように構成されています。タブビューがあり、すべてのビューが毎回メモリに割り当てられます私はタブをナビゲートする私は前の状態(すべてのタブもインターネット上の曲、ニュースなどの情報を見つけるためにWebビューを開くことができます)を見つける..すべてのメモリ占領を成長させるが、アプリを非常にユーザーフレンドリーにする...注意を払った後Androidのガイドに従ってメモリリークが発生するのを避けるため、ヒープ占いを調べようとしましたが、私のアプリは最大3.5MBのメモリを割り当て、割り当てられたヒープサイズは4.5〜4.6 MBです...私はエミュレータで作業しています。彼らはそんなに思っているわけではありませんが、LogCatで奇妙なメッセージを作成して再起動することがあります。Android Grow heap frag case
Grow heap (frag case) to 3.373 for 19764-byte allocation
この意味は?エミュレータの問題?または、他の何か?あまりにも多くのメモリを使用していますか?
は、任意の助けを事前にいただきありがとうございます:)
回答ありがとう^^なぜ悪いことではないのですか?これが起こると私のアプリは終了する...私はこれが悪いと思う...私のせい?私は別のメッセージを受け取ります:heapworkerは詰まっています:13129msはLandroid/media/MediaPlayerの内部で過ごしました; .finalize()V ...これは何ですか? – Erenwoid
ええ、あなたのアプリが終了している場合、それは悪いです。私は〜4MBのヒープを複数のWebページに使用することは悪くないことを意味します。 私はHeapWorkerの問題についてあまり気にしません。通常、割り当てられたメモリを追跡し、未使用のオブジェクトに対してガベージコレクタを実行します。私の推測では、あなたのスレッドの1つがすべてのCPUを使用しており、 'MediaPlayer'に' finalize() 'を実行する時間が与えられていないということです。これは13秒かかるはずの関数です。 –