at java.nio.HeapByteBuffer.(HeapByteBuffer.java:54)
at java.nio.HeapByteBuffer.(HeapByteBuffer.java:49)
at java.nio.ByteBuffer.allocate(ByteBuffer.java:282)
at sun.nio.cs.StreamEncoder.(StreamEncoder.java:195)
at sun.nio.cs.StreamEncoder.(StreamEncoder.java:175)
at sun.nio.cs.StreamEncoder.forOutputStreamWriter(StreamEncoder.java:59)
at java.io.OutputStreamWriter.(OutputStreamWriter.java:111)
at java.io.FileWriter.(FileWriter.java:78)
at com.netease.nimlib.l.b.a.a.a(FileUtils.java:65)
at com.netease.nimlib.l.b.d.a(NLogImpl.java:24)
at com.netease.nimlib.l.b.a$3.run(LogBase.java:162)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:920)
Back traces ends.
你好,请问什么场景下造成的?或者有更多的堆栈信息吗
从堆栈上看,Failed to allocate a 8208 byte allocation只是申请一个8K的空间,对应的SDK代码是进行将一些缓存信息保存到本地,申请的使用的空间并不大,这个地方只是一个导火索,主要还是APP层面的内存占用要排查一下,在这个时候只剩下2M的内存空间了。当然,这个地方我们后续会继续优化,尽量更高效的使用内存