我最近购买了一台 HTC One 并开始开发 Java 应用程序。在此之前,我有一台 Galaxy S II。在 Galaxy 手机上,GC 输出总是打印到日志中。就像是:
GC_CONCURRENT freed 450K ...
但在新的 HTC One 上却找不到这些信息。我在谷歌和这里搜索了一下,但没有找到解决方案。有没有办法打开它们,或者获得其他好的 gc 统计信息?
干杯
我最近购买了一台 HTC One 并开始开发 Java 应用程序。在此之前,我有一台 Galaxy S II。在 Galaxy 手机上,GC 输出总是打印到日志中。就像是:
GC_CONCURRENT freed 450K ...
但在新的 HTC One 上却找不到这些信息。我在谷歌和这里搜索了一下,但没有找到解决方案。有没有办法打开它们,或者获得其他好的 gc 统计信息?
干杯
不确定,因为您的设备似乎都在 Jellybean 4.1 和 4.2 上,但是看看这个。
谷歌似乎已经删除了从 JellyBean 开始查看系统日志的功能。可能是三星决定不使用 GS2 的 4.1 执行此操作。无论如何,您现在需要 root 才能查看设备上的完整日志。
由于您没有指定查看日志的方式,我假设您的意思是在设备上,使用应用程序或终端。adb logcat
但是,您可以在连接了设备的计算机上使用 ADB(带有 )查看完整日志。
GC_CONCURRENT
当堆增长时触发。所以它可以及时回收内存,所以堆不需要扩大
检查您的设备上是否有相同版本的 android。
要签memory leaks
入您的应用程序,您可以使用:http:
//developer.android.com/tools/help/traceview.html
您也可以尝试模拟内存泄漏,并尝试捕获GC_CONCURRENT
它应该在日志中。