2011-06-30 12 views
5

Mam problem gdzie mogę zarejestrować aktualizacje lokalizacji za pomocąDlaczego rejestrowanie aktualizacji lokalizacji powoduje odświeżanie kontaktów?

mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, MIN_TIME_MS, 1, mSingleShotGpsListener); 

widzę, że kontakty DB jest aktualizowany, który na moim Desire Z zdaje się chwilę, a potem następuje obciążenie Działanie GC (patrz log poniżej). Ponieważ niektóre animacje wyświetlają się wkrótce po wyzwoleniu kontroli położenia, wyniki są poniżej optymalnej wydajności. Każdy pomysł, dlaczego tak się dzieje/co mogę zrobić, żeby to powstrzymać?

Testowałem na Nexusie S i nie widzę w dzienniku tych problemów dotyczących zachowania/wydajności/sprawdzeń kontaktów.

Dzięki za pomoc!

06-30 12:33:18.921: DEBUG/GTalkService(14241): [RosterMgr] roster not modified 
06-30 12:33:19.041: DEBUG/GTalkService(14241): [OtrMgr] OTR not modified 
06-30 12:33:19.081: DEBUG/ContactMessageStore(1501): createTempContactTable() <<< 
06-30 12:33:19.101: DEBUG/dalvikvm(17700): GC_FOR_MALLOC freed 1116 objects/68784 bytes in 106ms 
06-30 12:33:19.201: DEBUG/ContactMessageStore(1501): Begin Establish ContactMap 
06-30 12:33:19.431: INFO/Resources(17688): Loaded time zone names for en_US in 1438ms. 
06-30 12:33:19.531: INFO/global(17688): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required. 
06-30 12:33:19.541: INFO/Resources(17700): Loaded time zone names for en_US in 1528ms. 
06-30 12:33:19.561: INFO/Resources(17700): Loaded time zone names for en_US in 1586ms. 
06-30 12:33:19.571: INFO/global(17700): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required. 
06-30 12:33:19.581: INFO/global(17700): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required. 
06-30 12:33:19.901: INFO/global(17700): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required. 
06-30 12:33:20.011: DEBUG/ContactMessageStore(1501): cursor count>881 
06-30 12:33:20.161: DEBUG/ContactMessageStore(1501): query people time: 959 
06-30 12:33:20.181: DEBUG/ContactMessageStore(1501): End Establish ContactMap 
06-30 12:33:20.201: DEBUG/ContactNameCache(1671): Contactname cache Process invalid 
06-30 12:33:20.211: DEBUG/ContactNameCache(1671): MEPHOTO QUERY 
06-30 12:33:20.291: DEBUG/ContactMessageStore(1501): insert contacts2 cost time >>>85 
06-30 12:33:20.291: DEBUG/ContactMessageStore(1501): replaceContactTable() >>> 
06-30 12:33:20.291: DEBUG/ContactMessageStore(1501): refreshContactsView() >>> 
06-30 12:33:20.291: DEBUG/ContactMessageStore(1501): refreshContactsView() <<< 
06-30 12:33:20.321: DEBUG/ContactMessageStore(1501): refreshContactsView time: 25 
06-30 12:33:20.321: DEBUG/ContactMessageStore(1501): replaceContactTable() <<< 
06-30 12:33:20.321: DEBUG/ContactMessageStore(1501): notify MmsSms 
06-30 12:33:20.321: DEBUG/ContactMessageStore(1501): MSG_UPDATE_CONTACTS_TABLE << 
06-30 12:33:20.401: DEBUG/ContactNameCache(1671): NAMECACHE MULTIPLE QUERY 
06-30 12:33:20.401: INFO/ContactNameCache(1671): cache invalidate. 
06-30 12:33:20.861: DEBUG/dalvikvm(1301): GC_EXPLICIT freed 32831 objects/1957472 bytes in 433ms 
06-30 12:33:22.571: DEBUG/dalvikvm(1671): GC_EXPLICIT freed 5100 objects/233264 bytes in 160ms 
06-30 12:33:23.491: DEBUG/dalvikvm(1506): GC_FOR_MALLOC freed 6046 objects/287856 bytes in 198ms 
06-30 12:33:23.571: DEBUG/dalvikvm(1501): GC_EXPLICIT freed 13021 objects/575784 bytes in 247ms 
06-30 12:33:26.611: DEBUG/dalvikvm(1671): GC_EXPLICIT freed 4605 objects/211320 bytes in 225ms 
06-30 12:33:28.131: DEBUG/dalvikvm(1501): GC_EXPLICIT freed 2110 objects/82232 bytes in 54ms 
06-30 12:33:28.451: DEBUG/ContactNameCache(1671): mCachedPhoto size: 68 
06-30 12:33:28.491: DEBUG/ContactNameCache(1671): reqeust terminate> Thread[Thread-328,1,main] 
06-30 12:33:28.501: DEBUG/ContactNameCache(1671): updateThreadtableNameField> Thread[Thread-329,1,main] 
06-30 12:33:28.981: DEBUG/ContactNameCache(1671): thread has terminated> Thread[Thread-329,1,main] 
06-30 12:33:29.651: DEBUG/PowerManagerService(1301): New lightsensor value:160, lcdValue:143 
06-30 12:33:29.651: DEBUG/PowerManagerService(1301): lightSensorChangedLocked, buttonValue >= 0, mPowerState = 3 
06-30 12:33:30.961: DEBUG/ContactMessageStore(1501): MSG_UPDATE_CONTACTS_TABLE >> 
06-30 12:33:30.961: DEBUG/ContactMessageStore(1501): query thread cost time >>>0 
06-30 12:33:30.961: DEBUG/ContactMessageStore(1501): createTempContactTable() >>> 
06-30 12:33:31.151: DEBUG/ContactMessageStore(1501): createTempContactTable() <<< 
06-30 12:33:31.201: DEBUG/ContactMessageStore(1501): Begin Establish ContactMap 
06-30 12:33:31.381: DEBUG/ContactMessageStore(1501): cursor count>881 
06-30 12:33:31.461: DEBUG/ContactMessageStore(1501): query people time: 255 
06-30 12:33:31.591: DEBUG/ContactMessageStore(1501): End Establish ContactMap 
06-30 12:33:31.601: DEBUG/ContactNameCache(1671): Contactname cache Process invalid 
06-30 12:33:31.601: DEBUG/ContactNameCache(1671): MEPHOTO QUERY 
06-30 12:33:31.731: DEBUG/ContactMessageStore(1501): insert contacts2 cost time >>>60 
06-30 12:33:31.731: DEBUG/ContactMessageStore(1501): replaceContactTable() >>> 
06-30 12:33:31.731: DEBUG/ContactMessageStore(1501): refreshContactsView() >>> 
06-30 12:33:31.791: DEBUG/ContactMessageStore(1501): refreshContactsView() <<< 
06-30 12:33:31.831: DEBUG/ContactMessageStore(1501): refreshContactsView time: 99 
06-30 12:33:31.831: DEBUG/ContactMessageStore(1501): replaceContactTable() <<< 
06-30 12:33:31.831: DEBUG/ContactMessageStore(1501): notify MmsSms 
06-30 12:33:31.831: DEBUG/ContactMessageStore(1501): MSG_UPDATE_CONTACTS_TABLE << 
06-30 12:33:31.891: DEBUG/ContactNameCache(1671): NAMECACHE MULTIPLE QUERY 
06-30 12:33:31.891: INFO/ContactNameCache(1671): cache invalidate. 
06-30 12:33:32.431: DEBUG/dalvikvm(1301): GC_EXPLICIT freed 12212 objects/539888 bytes in 520ms 
06-30 12:33:32.731: DEBUG/dalvikvm(30218): GC_EXPLICIT freed 444 objects/22832 bytes in 271ms 

Odpowiedz

2

Rejestracja do aktualizacji powoduje, że GPS pojawia się i zgłasza lokalizację. Najprawdopodobniej na tym urządzeniu znajduje się odbiornik pasywnej lokalizacji zarejestrowany z jakiegoś powodu, że po otrzymaniu aktualizacji z powodu spowodowania, że ​​lokalizacja GPS zostanie pobrana i zgłoszona, wykonuje operację w bazie danych kontaktów.

Ponieważ nie widzisz takiego zachowania na urządzeniu Nexus, nie jest ono częścią systemu Android. Jest to więc pewne dostosowanie, jakie producent wykonał dla urządzenia lub jakiejś innej aplikacji zainstalowanej na tym urządzeniu.

Możesz zobaczyć, jakie aplikacje są zarejestrowane dla pasywnych aktualizacji lokalizacji za pomocą "adb shell dumpsys location".

Powiązane problemy