安卓工作室控制台输出?

4
当我在Android Studio上运行我的应用程序时,我读到了一些垃圾回收输出:
05-11 16:18:20.973 12173-12183/com.example.myapp I/art: 后台部分并发标记扫描GC释放了240546个(10MB)AllocSpace对象,1个(20KB)LOS对象,空闲40%,46MB/77MB,暂停1.599ms,共计121.211ms 
05-11 16:18:54.304 12173-12183/com.example.myapp I/art: 后台黏性并发标记扫描GC释放了419692个(18MB)AllocSpace对象,0个(0B)LOS对象,空闲24%,58MB/77MB,暂停3.022ms,共计201.084ms 
05-11 16:19:15.368 12173-12183/com.example.myapp I/art: 后台黏性并发标记扫描GC释放了252567个(11MB)AllocSpace对象,0个(0B)LOS对象,空闲14%,65MB/77MB,暂停1.955ms,共计160.700ms 
05-11 16:19:28.274 12173-12183/com.example.myapp I/art: 后台部分并发标记扫描GC释放了554566个(28MB)AllocSpace对象,0个(0B)LOS对象,空闲39%,48MB/80MB,暂停1.916ms,共计200.094ms
这是什么意思?(我正在读取超过70k行的大型csv文件)
1个回答

5
从ART开始,Android有两个分配空间:非大型对象空间(堆)和大型对象空间(LOS)。非大型对象空间主要用于普通大小的对象。大型对象空间主要用于大型对象(比如位图)。
05-11 16:18:20.973 12173-12183

com.example.myapp I/art: Background partial concurrent mark sweep GC freed 240546(10MB) 

垃圾收集器已释放240,546个对象,从非大对象空间中回收了10兆字节的空间。
AllocSpace objects, 1(20KB) LOS objects, 40% free, 46MB/77MB, paused 1.599ms total 121.211ms 05-11 16:18:54.304 12173-12183 

垃圾回收器已释放1个对象,从大对象空间中回收了20千字节。
如果不阅读读取CSV文件的类或方法,则很难根据日志表现做出有根据的猜测,为什么垃圾回收器会做出反应。但只是查看日志中的趋势,似乎垃圾回收器正在从非大对象空间中释放大量对象,同时几乎没有分配任何大对象空间。

References: http://developer.android.com/tools/debugging/debugging-memory.html#LogMessages


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接