我有一个i
,在这里我想绘制一堆文本并绘制一个72px x 72px的png图像。图像始终绘制在SurfaceView
上,但每2秒绘制在不同的位置。
创建对位图的静态引用(从该图像)并每次都使用它是一个坏主意吗?我一直在努力避免“初始化”位图的开销,因为它一直都是同一张图片。
答案 0 :(得分:1)
内存管理中静态引用的问题是您需要自己收集垃圾。也就是说,您将需要回收位图,并在不再使用该位图时将其设置为空。
由于您在多个地方使用它,所以只要您对它小心,就可以了。
答案 1 :(得分:1)
我认为,与其使用静态引用,不如使用静态引用,最好在SurfaceView
中使用实例引用,并在视图的onCreate()
方法中对其进行初始化。这样,初始化就不成问题了(您将自动具有可用于加载图像的上下文)。此外,当视图本身被垃圾回收时,位图也会自动消失。
如果您每两秒钟创建一个新的SurfaceView
,那就完全不同了。在这种情况下,静态引用可能有意义。但是我想知道您的应用程序设计。 :)