1
我遇到了Surfaceview中的内存泄漏问题。如何修复SurfaceView内存泄漏
我定义了一个自定义视图MyView,它从surfaceview扩展而来。
int Layout file
<com.andoird.example.MyView
....
....
/>
和setContentView in onCreate();活动完成后,请拨打 。 我得到下面的日志; 它显示表面视图中有内存泄漏。
我希望有人能帮我解决这个问题。谢谢!
使用Android 4.2。
日志1:
08-16 16:29:23.751 E/StrictMode(23220): A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
08-16 16:29:23.751 E/StrictMode(23220): java.lang.Throwable: Explicit termination method 'release' not called
08-16 16:29:23.751 E/StrictMode(23220): at dalvik.system.CloseGuard.open(CloseGuard.java:184)
08-16 16:29:23.751 E/StrictMode(23220): at android.view.Surface.<init>(Surface.java:293)
08-16 16:29:23.751 E/StrictMode(23220): at android.view.SurfaceView.<init>(SurfaceView.java:101)
日志2
08-16 16:29:23.751 E/StrictMode(23220): A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
08-16 16:29:23.751 E/StrictMode(23220): java.lang.Throwable: Explicit termination method 'release' not called
08-16 16:29:23.751 E/StrictMode(23220): at dalvik.system.CloseGuard.open(CloseGuard.java:184)
08-16 16:29:23.751 E/StrictMode(23220): at android.view.Surface.<init>(Surface.java:293)
08-16 16:29:23.751 E/StrictMode(23220): at android.view.SurfaceView.<init>(SurfaceView.java:102)
getSurface()似乎并不有一个方法叫释... – MacD