0

Pulse と同じようなアプリケーションがあり、ベータ段階にあり ます https://play.google.com/store/apps/details?id=com.braindigit.nepal.khabar

LinearLayout名前付きを保持するメインレイアウトがありNewsCategoryHolder、このレイアウトで別のレイアウト名を動的に追加および削除しますCategoryView。これにはand otherCategoryViewが含まれます。さらにナビゲーションのために実装し、タブをクリックするたびにすべてのビューを削除してから追加します。それぞれに、サーバーまたはデータベースからデータをロードする独自の機能があります。そして、追加と削除のたびに、すべてのビューを削除し、アダプターをnullに割り当て、さらにはnullに保持します。しかし、私がからにナビゲートするようにHorizontalListViewviewsActionbarSherlock TabNewsCategoryHolderCategoryViewCategoryViewAsyncTaskCategoryViewContextTabTab、アプリケーションのメモリが増加します。アプリケーションでメモリ リークが発生しているような気がします。すべてのチュートリアル、リンク、ビデオ、およびその他のアナライザーを調べましたが、アプリがメモリを消費している正確な部分や、オブジェクトの参照を収集できなかっMATたポイントを特定できませんでした。GC

メモリ消費量が多い場所を見つけたいだけですが、それができませんでした.hprof http://news.braindigit.com/saved/android3201806337409456011.hprofファイルを添付しましたが、助けが必要ですその分析と私のアプリケーションパッケージ名はcom.braindigit.nepal.khabar

4

1 に答える 1

0

メモリ消費量が多い主な理由がわかりました。 ではなく、レイアウトやさまざまなステートメントからさまざまなビューを削除した後、主な原因であるフォルダーMATのフォントを使用していることがわかりました。asset

headingText.setTypeface(Typeface.createFromAsset(context.getAssets(), DataHolder.FONT_PATH));

したがって、これを行うことContextで、参照されているか、参照TypeFaceされていない可能性があります。しかし、このgarbage collectedコード行を削除すると、アプリのメモリ リークの問題がすべて修正されました。

さらに、この問題は、ここで説明されている手法を使用して解決できます Typeface メモリ リーク

于 2013-01-08T14:41:26.397 に答える