Uygulamamda donanım hızlandırma etkinleştirildi ancak bu özelliklerden birini devre dışı bıraktım, çünkü inme kapaklarıyla ve başka şeylerle ilgili sorunlar yaşadım.GLES20Canvas.clip içinde desteklenmeyenOperationException Donanım hızlandırması devre dışı bırakıldı görünümünde
Şimdi Google bu yığın izleme Crash Hatalar konsolu oyna alıyorum: Ben AndroidManifest.xml android:hardwareAccelerated="true"
belirttiğiniz
java.lang.UnsupportedOperationException
at android.view.GLES20Canvas.clipPath(GLES20Canvas.java:287)
at com.myapp.MyCustomView.onDraw(SourceFile:288)
at android.view.View.draw(View.java:9310)
at android.view.View.getDisplayList(View.java:8773)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2298)
...
at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:609)
at android.view.ViewRoot.draw(ViewRoot.java:1634)
at android.view.ViewRoot.performTraversals(ViewRoot.java:1450)
at android.view.ViewRoot.handleMessage(ViewRoot.java:2094)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:132)
at android.app.ActivityThread.main(ActivityThread.java:4123)
...
. Ama benim özel bakış yapıcısı içinde Özellikle engelli donanım hızlandırma: uyumluluğu sayesinde
public MyCustomView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// ... code omitted
// disable acceleration because Paint.setStrokeCap(Cap.ROUND) is not working otherwise
Compatibility.disableHardwareAcceleration(this);
}
bu varlık:
public class Compatibility {
// View.setLayerType() was introduced in Honeycomb
private static Method setLayerTypeMethod = getMethod(View.class, "setLayerType", int.class,
Paint.class);
private static Method getMethod(Class<?> clazz, String name, Class<?>... parameterTypes) {
try {
return clazz.getMethod(name, parameterTypes);
}
catch (NoSuchMethodException e) {
return null;
}
}
private Compatibility() {
}
public static void disableHardwareAcceleration(View view) {
try {
if (setLayerTypeMethod != null) {
int layerType = 1; // View.LAYER_TYPE_SOFTWARE
setLayerTypeMethod.invoke(view, layerType, null);
}
}
catch (Exception ignored) {
}
}
}
Maalesef Crash Hataları konsolu Android işletim sistemi sürümü veya cihaz hakkında bilgi ifşa etmez.
Neler olabileceği hakkında bir fikrin var mı?