2011-09-15 9 views
0

setContentViewを使用した後、私はそれを却下して別のコンテンツを設定できますか?コンテンツビューを却下する

以前に取って代わるん別のものを設定するが、それはメモリ

メモリからそれを解放する方法があるを解放しないのですか?

私はこれを示すためにadb shell dumpsys meminfo <pid>を使用:

    native dalvik other total 
     size:  24836  5703  N/A 30539 
    allocated:  23140  3365  N/A 26505 
     free:   1559  2338  N/A  3897 
     (Pss):   1571  2673 22374 26618 
(shared dirty):  1236  4104  2672  8012 
(priv dirty):   1512  1928 20552 23992 

Objects 
     Views:   0  ViewRoots:  0 
AppContexts:   0  Activities:  0 
     Assets:   3 AssetManagers:  3 
Local Binders:   11 Proxy Binders:  19 
Death Recipients:  0 
OpenSSL Sockets:   0 

SQL 
     heap:   0  memoryUsed:  0 
pageCacheOverflo:  0 largestMemAlloc:  50 
+0

「もう1つ設定すると前のものと置き換えられますが、メモリは解放されません」 - これはどのように決定しましたか? – CommonsWare

+0

@CommonsWare:前と後のメモリをチェックします。 GCに電話する必要はありますか?私はそれが保証されていないことを知っていますが、その良い、いいえ? – piojo

+0

"私は前後のメモリをチェックする" - そしてどうしたら**正確に**あなたはそれをやったのですか?私が知っているのは、MATを使用するメモリリークを検出する方法が1つだけです。 MATを使用した場合は、それを使用して難易度の原因を見つけるか、質問に実質的に詳細を記入することができます。 http://android-developers.blogspot.com/2011/03/memory-analysis-for-android.html「GCに電話する必要はありますか?」 No. – CommonsWare

答えて

0

あなたがにSystem.gc()の呼び出しを使用し、空きメモリへの仮想マシンを義務付けることを試みることができます。あなたはAndroidがJavaであると考える必要があります。ガベージコレクタはメモリを解放する唯一の方法です。とにかくそれが残っています

P.S:少し時間内にメモリを解放しない場合は(LogCatを参照)、ここにいくつかのソースコードを表示してください:)。

関連する問題