繁体   English   中英

如何在Android中释放内存

[英]How to release memory in android

我需要释放下面的指针,如何释放画布,颜料和矩阵的内存?

 Canvas pcanvas = new Canvas();

 Paint mPaint = new Paint(); 

 Matrix matrix = new Matrix(); 

提前致谢。

Java没有指针,因此您不能显式释放内存。

但是,有可能在Java和Android中泄漏内存 如果您的任何对象引用了非托管内存,则需要让他们知道何时可以释放该内存。

因为看起来您正在从事与图形相关的工作,所以我猜您在某处使用了位图,这些位图占用大量内存,因此需要释放内存。 使用完位图后,请确保调用Bitmap.recycle()

在不再引用创建的对象之后,请为其分配空值。 显然,这不会立即释放内存,但是以这种方式int告诉GC,该对象符合垃圾回收的条件。(有效的Java)。

编辑:正如@spatulamania所说,如果要管理位图,则必须调用回收(我认为它免费调用ac / c ++)方法以释放与之关联的内存。 设置为null会使位图引用无效,因为该位图是本机实现的,并且java对象只有几个字节。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM