2014-12-01 6 views
9

Android Lollipop SDK (21)로 앱을 만듭니다. 일부 활동을 열고 닫은 후 한 활동에이 손상된 화면이 있습니다. 메모리 오류처럼 보입니다. 그러나 Android Lollipop 기기에서만 발생합니다. Logcat에서 나는 오류를 볼 수 없습니다.Android Lollipop 활동 화면이 손상되었습니다.

어떤 아이디어입니까?

enter image description here

+0

앱에'WebView' (또는'AdView') 위젯이 있습니까? http://stackoverflow.com/questions/27172217/android-systemui-glitches를 확인 했습니까? – matiash

+0

webView.setLayerType (View.LAYER_TYPE_SOFTWARE, null); 문제를 해결합니다. –

답변

5

webView.setLayerType (View.LAYER_TYPE_SOFTWARE, null); 문제를 해결합니다.

+0

감사합니다. 나는 그것을 시험해 본다. – Zenco

+0

WebView를 사용하는 응용 프로그램에서이 기능을 사용해 주셔서 감사합니다. @Zenco가 지적한 것과 똑같은 부패를 겪고있었습니다. (전 Lollipop 5.0을 실행하는 Nexus 5를 사용하고 있습니다.1) LayerType을 TYPE SOFTWARE로 설정하면 효과적입니다. :-) –

1

또한 4.4에서 발생한다. 조각이나 활동에 항상 배경을 지정하십시오. 업데이트 누군가 투명 한 bkg를 사용하려고 시도했지만 작동하지 않았습니다.

+0

이것이 일어나는 이유를 알고 있습니까? – Zenco

+0

아무 생각도 내가 sdk에서 그래픽 문제의 일종으로 인한 것 같아요. 너 시도 했니? @ Zenco? – TheRedFox

+0

예,하지만 이것을 재현 할 수는 없습니다. 이 효과가 나타나지 않으면 답변을 투표합니다. – Zenco

1

용액

webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 

는 OK이지만 사람이 문제 비트 과잉은 5.0 롤리팝 Nexus 기기에 적용된다. 왜 모든 전화 모델을 처벌합니까?

boolean isLollipop = android.os.Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP; 
boolean isNexus = android.os.Build.MODEL.toLowerCase().contains("nexus"); 

if (isLollipop && isNexus) { 
    webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 
} 

이 코드는 Google이 다음 버전의 OS에서 문제를 해결한다고 가정합니다.

편집 5.1 이것으로서

이 코드를 처리하는 고정되었다.

관련 문제