我是android編程的新手。 may android應用程序的內存消耗會隨着時間顯着增加。當通過MAT分析時,它顯示堆積的對象的GC根是Native Stack
。這些對象在本地代碼中被引用爲全局引用,但隨着時間的推移我會將其正確地釋放,我還將日誌記錄以確保計數匹配。 文檔約native stack
不多清楚,因爲它只是指出:瞭解MAT的內存泄漏
在或在本機代碼輸出參數,如用戶定義的JNI代碼或JVM內部代碼。這通常是這種情況,因爲許多方法具有本地部分,並且作爲方法參數處理的對象成爲GC根。例如,用於文件/網絡I/O方法或反射的參數。
我不太確定它說什麼,問題在哪裏,我該如何解決。任何提示都非常感謝。提前致謝。
以下是一些可能有用的鏈接:http://yourkit.com/docs/75/help/performance_problems/memory_leaks/gc_roots.jsp,http://www.youtube.com/watch?v= _CruQY55HOk – Submersed
JNI中有用的本地引用和全局引用:http://developer.android.com/training/articles/perf-jni.html#local_and_global_references。 – fadden