Glitches di SystemUI di Android in Lollipop

Questo bug si verifica solo sul mio Nexus 5 e il mio Nexus 7 che esegue Lollipop .

EDIT

  • Come faccio a corrispondere a una revisione di Google Play Services con una versione di installazione?
  • Riferimento di una string in una risorsa di string arrays con xml
  • Come si confronta il trasfuso con il pugnale?
  • Come distriggersre i programmi MaxView di TextView in modo programmato?
  • Come salvare i dati in linea con SharedPreference in Android
  • Il webview loadurl di Android ("file: ///android_asset/index.html#home") non è riuscito
  • Questo errore si verifica anche nella nuova applicazione Posta in arrivo di Google , quando entrerò nella Posta in arrivo> Impostazioni> Notifiche> qualsiasi elemento e tornerò

    / EDIT

    • compileSdkVersion 21
    • buildToolsVersion 21.1.1
    • compilare 'com.android.support:appcompat-v7:21.0.2'

    Sto avendo una GalleryActivity che mostra più immagini, una volta per pagina (all'interno di un ViewPager . Quando ho colpito il button di return, a volte SystemUI di Android presenta dei guasti.

    Vista normale

    normale

    Vista glitched

    glitched

    Vedere come le ripetizioni si ripetono e all'interno del sistema stesso?

    Un semplice evento di ripristino riport le viste normali di SystemUI.

    Cosa sta succedendo?

    Potrebbe essere simile a:

    • Glitch / statico di schermo di Android 5 con frammento di Google Maps all'interno di un Viewpager
    • La schermata di attività di Lollipop di Android è danneggiata

    6 Solutions collect form web for “Glitches di SystemUI di Android in Lollipop”

    Impostazione android:hardwareAccelerated="false" è una sorta di soluzione estrema, in quanto le performance grafiche sono probabilmente molto cattive.

    Se è ansible individuare la visualizzazione che fa male e che causa questo problema, una correzione migliore sarebbe quella di passare al rendering del software, invece, tramite setLayerType() , ad esempio

     view.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 

    La cosa divertente è che non ho mai visto problemi di rendering con Lollipop finora, ma li abbiamo visti in KITKAT (come accennato in questa domanda ) e solo quando WebViews sono presenti sullo schermo.

    Raccommand di sperimentare il cambiamento in diverse visioni finché il problema non sia isolato (specialmente se è facile riprodurre).


    Finora, each avvenimento di questo problema è stato correlato a WebViews (oa componenti che utilizzano WebView, ad esempio AdMob). Secondo l'AOSP Issue Tracker il problema è fisso in Android 5.0, ma non sembra essere il caso.

    Ho visto glutei UI con Lollipop, anche se diverso da quello che hai. L'unica soluzione che ho trovato era disabilitare l'accelerazione hardware:

     android:hardwareAccelerated="false" 

    al livello Attività o Applicazione. Se risolve i tuoi guasti, assicuratevi di segnalarlo a Google in quanto ciò indica un bug nella piattaforma. Esiste già alless una relazione aperta con loro.

    Certamente non voglio distribuire un'applicazione con questa impostazione, in realtà è destinata solo a rispondere a WHY e aiuta a dimostrare che non è un bug nel codice.

    Spero che questo ti aiuti!

    EDIT 12/10/2014:

    @matiash ha offerto una risposta molto più precisa di questo suggerimento "marmitta". Stavo mostrando problemi di disegno principalmente su ActionBar in un'applicazione multi-tab con ViewPager e sempre in tabs / pagine senza WebView a tutti. Tuttavia, una delle mie tabs / frammenti ha un WebView incorporato, e quando lo imposta sul rendering del software, i miei guasti sembrano essere andati via. Non sono affatto scomodo mettendo la soluzione proposta da @matiash in un'applicazione di spedizione … anche se indica ancora qualche problema sottostante nella piattaforma.

    Ho anche assistito a questo problema nella mia app.

    Qualsiasi sviluppatore di Android sperimenta mai questo tipo di statica visiva? (Guarda l'image)

    Non solo ho ottenuto quel tipo di visual statico, ma anche ripetuto disegno. Solo lo ha assistito su Nexus 5 con 5.0 quando si sviluppa con api 21 e la libreria di supporto 21.0. +.

    Per me non è molto riproducibile. Sarà accaduto ripetutamente durante una session di utilizzo, ma il giorno dopo non sarò in grado di riprodurlo.

    Non sto utilizzando WebViews (accetto forse via admob). Sto utilizzando ViewPagers con frammenti. Sto usando anche DragSortList e ho iniziato a vedere il problema in attività che lo hanno usato.

    https://github.com/bauerca/drag-sort-listview

    Quanto è riproducibile per voi ragazzi?

    hai provato a impostare android:fitsSystemWindows="true" nel layout del Fragment ? questo assicurerà che il layout sia sotto lo statusBar , non sono veramente sicuro dei pulsanti di navigazione ma credo che questo dovrebbe funzionare anche per esso.

    Layout di richiesta chiamata su DecorView dopo il rendering:

     getActivity().getWindow().getDecorView().requestLayout(); 

    Lo chiamo usando postDelay() in WebViewClient.onPageFinished() . Non è una soluzione perfetta (solo una soluzione), ma forse meglio come LAYER_TYPE_SOFTWARE.

    ……… vai alle impostazioni e quindi alle opzioni dello sviluppatore (se non sono visibili … vai a circa telefono e clicca su build number 7-10 volte e la modalità sviluppatore sarà accesa) e ci scorrono verso il basso e distriggersre i limiti del layout di spettacolo e si è completati. semplice e facile.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.