CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: pumaro con ben 4 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 9 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 31 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 2 su 2
Discussione:

Gc_for_malloc

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
    Mar 2011
    Messaggi
    3

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Gc_for_malloc

    Salve , sto sviluppando un'applicazione che prevede la gestione d immagini che si muovo, e interagiscono tra loro, sono presenti tre classi, e un thread che di volta in volta disegna gli oggetti che si spostano. In pratica dopo una decian di secondi che l'applicazione gira , spariscono gli oggetti, e poi si interrompe.
    Dai log compare un problema nella memoria che termina.
    La mia domanda è , può bastare un solo synchronized, invocato nell'unico thread che gira, o va utilizzato prima di ogni metodo? "ad esempio all'interno del onDraw ogni volta che viene invocato".
    Segue il log:

    03-31 11:05:00.102: DEBUG/dalvikvm(580): GC_EXPLICIT freed 786 objects / 38272 bytes in 1533ms
    03-31 11:05:15.562: INFO/ActivityManager(59): Process com.android.launcher (pid 580) has died.
    03-31 11:05:15.562: INFO/WindowManager(59): WIN DEATH: Window{43fc0f78 com.android.launcher/com.android.launcher2.Launcher paused=false}
    03-31 11:05:15.601: INFO/ActivityManager(59): Low Memory: No more background processes.
    03-31 11:05:20.823: DEBUG/dalvikvm(120): GC_EXPLICIT freed 222 objects / 9856 bytes in 203ms
    03-31 11:05:24.441: INFO/ActivityManager(59): Process jp.co.omronsoft.openwnn (pid 579) has died.
    03-31 11:05:24.471: WARN/ActivityManager(59): Scheduling restart of crashed service jp.co.omronsoft.openwnn/.OpenWnnJAJP in 5000ms
    03-31 11:05:24.471: INFO/ActivityManager(59): Low Memory: No more background processes.
    03-31 11:05:28.421: INFO/WindowManager(59): WIN DEATH: Window{43fbf378 SurfaceView paused=false}
    03-31 11:05:28.452: INFO/ActivityManager(59): Process andrea.lax.soccer (pid 610) has died.
    03-31 11:05:28.483: INFO/WindowManager(59): WIN DEATH: Window{43f828b0 andrea.lax.soccer/andrea.lax.soccer.soccer paused=false}
    03-31 11:05:28.603: INFO/ActivityManager(59): Start proc com.android.launcher for activity com.android.launcher/com.android.launcher2.Launcher: pid=620 uid=10025 gids={}
    03-31 11:05:28.603: INFO/ActivityManager(59): Low Memory: No more background processes.
    03-31 11:05:29.012: INFO/UsageStats(59): Unexpected resume of com.android.launcher while already resumed in andrea.lax.soccer
    03-31 11:05:29.163: INFO/ActivityThread(620): Publishing provider com.android.launcher2.settings: com.android.launcher2.LauncherProvider
    03-31 11:05:29.282: DEBUG/dalvikvm(620): GC_EXTERNAL_ALLOC freed 1020 objects / 74752 bytes in 72ms
    03-31 11:05:29.481: INFO/ActivityManager(59): Start proc jp.co.omronsoft.openwnn for service jp.co.omronsoft.openwnn/.OpenWnnJAJP: pid=626 uid=10023 gids={}
    03-31 11:05:30.332: DEBUG/dalvikvm(626): No JNI_OnLoad found in /system/lib/libwnndict.so 0x43e37e00, skipping init
    03-31 11:05:30.421: WARN/InputManagerService(59): Got RemoteException sending setActive(false) notification to pid 610 uid 10038
    03-31 11:05:30.663: INFO/ActivityManager(59): Displayed activity com.android.launcher/com.android.launcher2.Launcher: 2171 ms (total 2171 ms)
    03-31 11:05:30.792: DEBUG/dalvikvm(626): GC_FOR_MALLOC freed 1494 objects / 245968 bytes in 334ms
    03-31 11:05:31.081: DEBUG/dalvikvm(626): GC_FOR_MALLOC freed 505 objects / 390912 bytes in 126ms
    03-31 11:05:32.772: DEBUG/dalvikvm(620): GC_EXPLICIT freed 11890 objects / 604384 bytes in 158ms
    03-31 11:05:33.431: DEBUG/SntpClient(59): request time failed: java.net.SocketException: Address family not supported by protocol
    03-31 11:05:37.192: DEBUG/skia(59): purging 35K from font cache [5 entries]
    03-31 11:05:37.492: DEBUG/dalvikvm(59): GC_EXPLICIT freed 3860 objects / 181960 bytes in 292ms

  2.  
  3. #2
    Baby Droid


    Registrato dal
    Mar 2011
    Messaggi
    3

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ho risolto invocando manualmente il GC, per ora glie lo faccio fare sempre, ma in futuro , lo invocherò solo quando vedo che la memoria sta per finire.


    public void onDraw(Canvas canvas) {
    System.gc();

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