Autore Topic: Problemi di "rendering" delle activity  (Letto 404 volte)

Offline lucab

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: +10
    • Mostra profilo
    • Lucabportal
  • Dispositivo Android:
    Nexus 5 - Nexus One
  • Play Store ID:
    Luca Biasotto
  • Sistema operativo:
    Mac OS X
Problemi di "rendering" delle activity
« il: 12 Marzo 2015, 21:40:35 CET »
0
Buonasera a tutti,

(spero la sezione sia giusta)

è da un po' di tempo che ho un comportamento strano in una app Android e non riesco a capirne la causa.

Quando una activity viene aperta per un brevissimo istante c'è un flash in cui l'activity si vede correttamente, subito dopo però l'activity non si vede più bene, si vede completamente a "righe" oppure con solo alcune righe. Sembra quasi che il device non riesca a "renderizzare" la finestra.

Il problema si presenta su activity a caso dell'app e senza una sequenza precisa di azione.
I device dove sono riuscito a riprodurre il problema sono diversi nexus 5 con androi 5.01.
L'app ha build target 21 (android 5)

Di seguito metto un esempio di una schermata in errore (a sinistra) e di come dovrebbe essere (a destra):


Ho già provato a cambiare/rimpicciolire l'immagine di sfondo ma senza risultati.

Potrebbe essere un problema di memoria? Magari causato anche da activity precedenti?

Questo è il log cat, la riga che mi insospettisce è quella che ho messo in grassetto:

03-12 21:36:41.998: I/ActivityManager(741): START u0 {cmp=evnt.Flyers/.LoginActivity} from uid 10294 on display 0
03-12 21:36:42.001: W/InputMethodManagerService(741): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@2412d407 attribute=null, token = android.os.BinderProxy@12facd58
03-12 21:36:42.085: I/art(5809): Background partial concurrent mark sweep GC freed 74236(3MB) AllocSpace objects, 24(2MB) LOS objects, 32% free, 32MB/48MB, paused 7.870ms total 60.279ms
03-12 21:36:42.170: W/View(5809): requestLayout() improperly called by android.widget.ImageView{111b416a V.ED.... ......ID 0,0-960,510} during layout: running second layout pass

Voi che dite? Vi è mai capitato qualcosa di simile?
P.s. ho notato che non solo la mia app fa questi effetti ogni tanto, ma ce ne sono anche altre nello google play che mi fanno questi strani effetti da quando sono passato ad android 5.

Grazie mille per l'aiuto
Luca
Le occasioni arrivano una volta sola, se non le afferri al volo passeranno altri alla storia.

Offline tonno16

  • Utente storico
  • *****
  • Post: 1197
  • Respect: +58
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Problemi di "rendering" delle activity
« Risposta #1 il: 12 Marzo 2015, 23:53:55 CET »
0
Dimmene una che provo.

Offline lucab

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: +10
    • Mostra profilo
    • Lucabportal
  • Dispositivo Android:
    Nexus 5 - Nexus One
  • Play Store ID:
    Luca Biasotto
  • Sistema operativo:
    Mac OS X
Re:Problemi di "rendering" delle activity
« Risposta #2 il: 13 Marzo 2015, 09:01:12 CET »
0
Se vuoi provare la mia basta che scarichi Zoonzo, vai nel dettaglio di un evento e da questo vai in "visualizza foto evento" a volte capita che faccia questo effetto strano!
Però a volte le fa anche in altre activity.
Mi è capitato anche su altre app ma ora non mi ricordo quali, se mi ricapita le posto qui!
Le occasioni arrivano una volta sola, se non le afferri al volo passeranno altri alla storia.

Offline lucab

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: +10
    • Mostra profilo
    • Lucabportal
  • Dispositivo Android:
    Nexus 5 - Nexus One
  • Play Store ID:
    Luca Biasotto
  • Sistema operativo:
    Mac OS X
Re:Problemi di "rendering" delle activity
« Risposta #3 il: 19 Marzo 2015, 21:55:02 CET »
0
Risolto il mistero :)

non era un problema di memoria, ero causato dalla pubblicità di AdMob, o meglio da un mio errore.

Mi ero scordato di distruggere o mettere in pausa la AdView della pubblicità, quindi quando cambiava activity restava comunque la pubblicità nella activity in background e questo causava questo strano effetto.

Questo è il codice che mi ero scordato:

Codice (Java): [Seleziona]
@Override
     public void onResume() {
         super.onResume();

         // Resume the AdView.
         mAdView.resume();
     }

     @Override
     public void onPause() {
         // Pause the AdView.
         mAdView.pause();

         super.onPause();
     }

     @Override
     public void onDestroy() {
         // Destroy the AdView.
         mAdView.destroy();

         super.onDestroy();
     }

Se può servire queste è il link alle API:https://developer.android.com/reference/com/google/android/gms/ads/AdView.html.

Risolvo il topic.
Grazie ragazzi
Ciao
Luca
Le occasioni arrivano una volta sola, se non le afferri al volo passeranno altri alla storia.