在使用Android Studio Chipmunk 2021.2.1 Canary 7的模拟器时,可能会遇到一个Bug,即无法在模拟器上显示任何内容。经过分析,这是由于模拟器使用的是旧版的OpenGL ES渲染引擎所导致的。
我们可以通过在模拟器中手动启用新版的OpenGL ES渲染引擎来解决这个问题。具体方法如下:
打开Android Studio Chipmunk 2021.2.1 Canary 7,并启动模拟器。
在模拟器中打开系统设置,选择“关于手机”。
连续点击“版本号”7次,以启用开发人员选项。
返回到设置页面,现在你会看到“开发人员选项”。打开它,并找到“GPU渲染”选项。
'GPU渲染”选项设置为“开启”。
关闭模拟器并重新启动它,现在模拟器应该可以正常显示内容了。
下面是示例代码,根据需要将其添加到项目中:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
}
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
try {
Class> aClass = Class.forName("android.app.ActivityThread");
Method currentActivityThread = aClass.getDeclaredMethod("currentActivityThread");
Object activityThread = currentActivityThread.invoke(null);
Method getDisplayId = aClass.getDeclaredMethod("getDisplayId");
Integer displayId = (Integer) getDisplayId.invoke(activityThread);
Method getRealDisplaySize = Display.class.getDeclaredMethod("getRealSize", Point.class);
Point size = new Point();
getRealDisplaySize.invoke(getSystemService(Context.WINDOW_SERVICE).getDefaultDisplay(), size);
Method getWindowing