我创建了一个游戏,游戏循环的每个滴答声都会出现此日志
09-05 07:53:20.213 27150-27240/com.x.y I/SurfaceView: Locking canvas... stopped=false, win=android.view.SurfaceView$MyWindow@32beabb4 09-05 07:53:20.226 27150-27240/com.x.y I/SurfaceView: Returned canvas: android.view.Surface$CompatibleCanvas@34b823dd
如何防止出现这个日志?我担心它会影响性能。
最佳答案
解决方案
到目前为止我找到的唯一解决方案是一个丑陋的 hack:
private void disableSurfaceViewLogging() {
try {
Field field = SurfaceView.class.getDeclaredField("DEBUG");
field.setAccessible(true);
field.set(null, false);
Log.i(TAG, "SurfaceView debug disabled");
} catch (Exception e) {
Log.e(TAG, "while trying to disable debug in SurfaceView", e);
}
}
说明
SurfaceView 有一个常量 DEBUG,它可以切换日志记录。不知何故它是真的(当你查看 code 时你会发现它应该是假的)。我找不到任何其他更“合适”的方法。
我依赖于以下答案:
关于android - 日志和性能,Android (SurfaceView),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39333225/