java - Android code lags due to logging / gc / audioManager -
java - Android code lags due to logging / gc / audioManager -
to maintain simple: i'm working on little app want click several objects after each other. on clicking object, supposed play sound.
this works well, except time time, entire app (including logcat's logging) freezes 5 seconds, after seems grab up. (all threads freeze) catching mean; if go on clicking during freeze, after unfreezing, still knows do.
the log simple:
01-17 14:52:08.292: d/audiomanager(17963): setstreamvolume(streamtype:3, index:11, flags:0) 01-17 14:52:08.473: d/dalvikvm(17963): gc_concurrent freed 417k, 48% free 3113k/5895k, external 140k/647k, paused 2ms+4ms
01-17 14:52:09.033: d/audiomanager(17963): setstreamvolume(streamtype:3, index:11, flags:0) 01-17 14:52:09.484: d/audiomanager(17963): setstreamvolume(streamtype:3, index:11, flags:0) 01-17 14:52:10.174: d/audiomanager(17963): setstreamvolume(streamtype:3, index:11, flags:0) 01-17 14:52:10.785: d/audiomanager(17963): setstreamvolume(streamtype:3, index:11, flags:0) 01-17 14:52:15.169: d/dalvikvm(17963): gc_explicit freed 338k, 49% free 3061k/5895k, external 140k/647k, paused 43ms
notice 5 sec delay between lastly 2 logs.
i tried removing audio, doesn't solve anything. text file beingness logged not influence apparently.
does have clue how solve annoying problem? in advance.
edit: when pausing programme during freeze points method. cause freeze in this:
public synchronized boolean removeentity(long id) { (entity ent : this.entities) if (ent.getid() == id) homecoming this.entities.remove(ent); homecoming false; }
that garbage collector doing lot of work. have tried running allocation tracker in ddms find out memory beingness allocated? if game, create sure you're not creating big objects in main loop.
java android garbage-collection android-logcat android-audiomanager
Comments
Post a Comment