当您想要以不同的字体大小或样式打印某些东西时,创建一个新的Paint()或修改和存在一个更有效吗? - 这是一个游戏,因此每帧都会进行更改
答案 0 :(得分:0)
据我所知,对象创建总是很昂贵。如果可以的话,你应该避免这种情况,特别是在你的情况下每帧发生这种情况。 Android始终建议您重复使用对象(see this doc)。我不认为Paint
应该有如此大的内存占用,但为什么不重用。或者创建其中两个并使用它们?
我什么时候应该重用一个对象(在这种情况下是绘画)?
如果你只是改变文字大小和颜色,我会重复使用一种颜料。如果你正在改变几乎所有的paint属性来绘制另一个文本,我建议你为它创建另一个paint对象,因为你会把它初始化一次,将它重用于同一种文本,你的代码就会更清晰。
答案 1 :(得分:0)
如果Paint对象不必更改每一帧,那么我会通过为您需要的每个大小创建一个Paint对象来交换一个小内存惩罚以获得更好的性能,但不会在每个帧上。在类构造函数中执行它并在每个框架中使用它,因此它们只创建一次 此外,如果Paint不会针对不同的实例进行更改,请将Paints设为静态,并为所有实例设置一个。