CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: Alessio68 con ben 1 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: elmegio con ben 7 Thanks ricevuti negli ultimi sette giorni
Utente del mese: bluemask con ben 43 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 2 su 2
Discussione:

Application not responding

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Apr 2011
    Messaggi
    6

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Application not responding

    ciao,
    sto creando una applicazione che prende un file kml lo parsa attraverso un pull parser, e disegna un percorso sulla mappa, utilizzando la classe overlay e quindi il metodo drawLine().
    Tutto bene fino a quando i punti che devo disgnare raggiungono le migliaia, infatti adesso sto disegnando una tratta che ha oltre 4000 punti da disegnare. L'applicazione viene eseguita correttamente ma non appena tocco la mappa per spostarmi o cerco di usare lo zoom compare un messaggio e mi dice che l'applicazione con risponde.

    ho provato a disegnare il tratto usando un AsyncTask facendogli fare il parsing del documento e quindi il successivo disegno sulla mappa ma purtroppo nulla, stesso messaggio nella medesima circostanza.

    Avete qualche idea??

    grazie a presto

  2.  
  3. #2
    Baby Droid


    Registrato dal
    Apr 2011
    Messaggi
    6

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    dopo alcune prove sono giunto alla conclusione che aggiungere dei thread di supporto non mi aiuta molto.
    Il problema credo è che la tratta disegnata sulla mappa è costituita da più di 4900 overlay, che devono essere tutti gestiti dal main thread che è il main preposto da android alla gestione dell'UI.
    perciò visto l'enorme mole di lavoro da svolgere non risponde in tempi brevi e viene ucciso da android.

    La soluzione sarebbe quella di visualizzare i punti (overlay)della tratta che è visibile sulla mappa in quel momento e poi far gestire ad un thread secondario il draw dei punti man mano che vogliamo visualizzare il resto della tratta.

    In questo modo riduco di molto gli overlay sulla mappa e il carico del main thread.

    Ora....avete un'idea su come disegnare gli overlay solo sulla parte di mappa visibile in quel momento dall'utente?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy