Wakelock killer experiments, Google Maps taming

Search This thread

arpruss

Senior Member
Jul 3, 2010
909
434
pruss.mobi
I've been annoyed by Google Maps' NetworkLocationPassiveCollector, NetworkLocationBurstCollector and NetworkLocationActiveCollector wakelocks, which I think are used to collect location data when the device is asleep. I am not objecting to Google collecting this data, but I am objecting to their keeping my device up and running down battery to collect it. To that end, I've been working on a wakelock killer.

If you want to kill network location altogether, you can just disable it in your system settings and maybe then you don't need to bother my wake lock killing. But I like the idea of network location.

My initial experiment is a purely commandline beast. Download this (source included, of course; you may use it under the simpler BSD license). Install notify_wake_lock in /data/local (say), and do (from a terminal emulator, adb shell, or a script):
Code:
su
chmod 755 /data/local/notify_wake_lock
/data/local/notify_wake_lock &

What this does is watch for the three wake locks, and one is set, it releases it within a second. This uses the inotify API rather than polling. I don't know what resource usage it adds--you are welcome to collect and report data.

To terminate the wakelock killer, do:
Code:
su
killall notify_wake_lock

If something goes wrong, just reboot.

For fuller Google Maps taming, you might want to disable some of the background processes associated with the network location:
Code:
su
pm disable com.google.android.apps.maps/com.google.googlenav.networkinitiated.NetworkInitiatedService
pm disable com.google.android.apps.maps/com.google.googlenav.networkinitiated.NetworkInitiatedReceiver
Disabling these two processes still allows network location to work on demand, but it may decrease what happens in the background.

And of course killing Latitude completely may be a good idea:
Code:
su
pm disable com.google.android.apps.maps/com.google.googlenav.friend.android.ServiceReceiver
pm disable com.google.android.apps.maps/com.google.googlenav.friend.android.LocationFriendService
pm disable com.google.android.apps.maps/com.google.googlenav.friend.reporting.LocationReceiverService
pm disable com.google.android.apps.maps/com.google.googlenav.friend.reporting.LocationReportingService
pm disable com.google.android.apps.maps/com.google.googlenav.friend.checkins.CheckinNotificationService
pm disable com.google.android.apps.maps/com.google.googlenav.friend.reporting.LocationReportingIntentReceiver
pm disable com.google.android.apps.maps/com.google.googlenav.appwidget.friends.FriendsAppWidgetUpdateService
pm disable com.google.android.apps.maps/com.google.googlenav.friend.history.LocationHistoryIntentReceiver
pm disable com.google.android.apps.maps/com.google.googlenav.friend.reporting.LocationPrivacyService
pm disable com.google.android.apps.maps/com.google.googlenav.friend.OptInIntentService
pm disable com.google.android.apps.maps/com.google.googlenav.appwidget.friends.FriendsAppWidgetProvider
pm disable com.google.android.apps.maps/com.google.android.maps.LatitudeActivity

(The last of these removes the icon for it from your apps listing.)

These pm disable settings survive a reboot. If you change your mind about these, you need to do them again with "enable" in place of "disable".
 
Last edited:

GoldElocks

Senior Member
Anybody get results? You should try this in parallel with BetterBatteryStats, of course.

I am surprised nobody has responded to your post yet. Running bbs I have noticed that maps and its processes are keeping my phone awake more than anything else. I have been looking for something to reduce these wakelocks while still allowing network services to remain active as I like them on for Google Now.

I was hoping somebody braver than I with more experience using terminal emulator would test this first but I suppose I'll just make a nandroid and give it a shot. Will report back.

Edit: it seems as though your download link is down
 
Last edited:

arpruss

Senior Member
Jul 3, 2010
909
434
pruss.mobi
I am surprised nobody has responded to your post yet. Running bbs I have noticed that maps and its processes are keeping my phone awake more than anything else. I have been looking for something to reduce these wakelocks while still allowing network services to remain active as I like them on for Google Now.

What OS version and Maps version do you have? BBS was showing the problem on my 2.3.6 Epic 4G Touch running Maps from Google Play, but my wife's ICS Epic 4G Touch using the stock Maps doesn't have the problem. Maybe the fact that many people around here are running ICS makes this problem be moot for them?
 

GoldElocks

Senior Member
What OS version and Maps version do you have? BBS was showing the problem on my 2.3.6 Epic 4G Touch running Maps from Google Play, but my wife's ICS Epic 4G Touch using the stock probably doesn't have the problem. Maybe the fact that many people around here are running ICS makes this problem be moot for them?


I am running liquid smooth beta 2 (JB 4.1.1) on my VZ Galaxy Nexus. I updated to the newest maps version the other day v6.12.0 but have had these wakelocks well before this version. I agree that this is probably a jb issue as I didn't have nearly this many wakelocks using ics. I'm sure if I disabled Google Now it would help but I'd rather not as I think it takes away from the jb experience.
 

GoldElocks

Senior Member
Appears that this project was abandoned. If anybody stumbles upon this I was able to resolve some of the wakelocks using RomToolbox and disabling all of the checkboxes for maps under autostart manager. My GoogleNOW still works fine. Also disabling all of the options in maps-settings except for 'enable location history' has helped a lot and still allows NOW to work. Hope this helps someone. :good:
 

SotYPL

Senior Member
Jan 21, 2011
250
35
Google Pixel 3
Google Pixel 7
Sorry for late feedback but I just found this thread couple of days ago. After through testing I can unfortunately say that your script doesn't help with location/maps wakelocks at all. I'm on Synergy r125 with latest KT747 kernel. Don't use google now and all locations reporting turned off in maps. All 3 location options enabled. I'VE disabled all maps and latitude services and been running your script for last couple of days. All auto start options for maps disabled by ROM Toolbox also. Wakelocks are still showing randomly. When I manually kill maps they disappear for some time but come back later and need to kill maps again. Right now I'm testing llama profile that kills maps every time I turn the screen off. Will see if it helps or not. Strange thing is that even I can see wakelocks in betterbatterystats my phone is still deep sleeping and battery is actually pretty good with no drains. Well I had one drain from AudioOut_2 wakelock but this is completely different thing and it was caused by youtube. I had to play some other video and it get fixed. Anyway I'm attaching bbs log and some screens from my last charge cycle.

btw. My wife has Razr M with completly stock JB 4.1.1 rooted and debloated only. This thing is the beast with battery life. No random wakelocks or anything and it can easily get 16-18h on battery with 4.5h screen on time and 1h of calls (lte most of the time). This whole maps wakelocks is not google thing for sure. It has to be samsung's software.

Code:
===================
General Information
===================
BetterBatteryStats version: 1.11.0.0
Creation Date: 2012-12-15 06:25:33
Statistic Type: (3) Since Unplugged
Since 13 h 46 m 53 s 
VERSION.RELEASE: 4.1.1
BRAND: Verizon
DEVICE: d2vzw
MANUFACTURER: samsung
MODEL: SCH-I535
OS.VERSION: 3.0.56-KT747-g66f9c18-dirty
BOOTLOADER: I535VRALE6
HARDWARE: qcom
FINGERPRINT: Verizon/d2vzw/d2vzw:4.1.1/JRO03L/I535VRBLK1:user/release-keys
ID: JRO03L
TAGS: release-keys
USER: se.infra
PRODUCT: d2vzw
RADIO: I535VRBLK1
Rooted: true
============
Battery Info
============
Level lost [%]: 30 Bat.: 30% (100% to 70%) [2.2%/h]
Voltage lost [mV]: 380 (4285-3905)
===========
Other Usage
===========
Deep Sleep (): 11 h 43 m 54 s  (42234 s) Ratio: 85.1%
No Data Connection (): 9 h 10 m 33 s  (33033 s) Ratio: 66.6%
No or Unknown Signal (): 9 h 10 m 33 s  (33033 s) Ratio: 66.6%
Wifi On (): 8 h 35 m 56 s  (30956 s) Ratio: 62.4%
Wifi Running (): 8 h 35 m 37 s  (30937 s) Ratio: 62.4%
Awake (): 2 h 2 m 59 s  (7379 s) Ratio: 14.9%
Screen On (): 1 h 7 m 56 s  (4076 s) Ratio: 8.2%
Phone On (): 5 m 59 s  (359 s) Ratio: 0.7%
=========
Wakelocks
=========
NetworkLocationCallbackRunner (com.google.android.apps.maps.Maps): 45 m 43 s  (2743 s) Count:592 5.5%
AudioOut_2 (1013): 28 m 50 s  (1730 s) Count:28 3.5%
NetworkLocationLocator (com.google.android.apps.maps.Maps): 7 m 26 s  (446 s) Count:164 0.9%
Event Log Service (Google Services): 6 m 26 s  (386 s) Count:334 0.8%
SignalCollector.ScannerThread (com.google.android.apps.maps.Maps): 4 m 47 s  (287 s) Count:752 0.6%
SignalCollector.Scanner (com.google.android.apps.maps.Maps): 4 m 38 s  (278 s) Count:1582 0.6%
AsyncCollectorListener (com.google.android.apps.maps.Maps): 3 m 10 s  (190 s) Count:1422 0.4%
ConnectivityService (Android System): 3 m 5 s  (185 s) Count:1868 0.4%
ActivityManager-Launch (Android System): 2 m 39 s  (159 s) Count:749 0.3%
GmailProviderProviderChangedBroadcastWakeLock (com.google.android.gm.Gmail): 1 m 54 s  (114 s) Count:51 0.2%
AlarmManager (com.google.android.apps.maps.Maps): 1 m 51 s  (111 s) Count:1981 0.2%
NetworkStats (Android System): 1 m 23 s  (83 s) Count:216 0.2%
NetworkLocationPassiveCollector (com.google.android.apps.maps.Maps): 1 m 12 s  (72 s) Count:783 0.1%
RILJ (Phone): 1 m 8 s  (68 s) Count:514 0.1%
BBS_WAKELOCK_WHILE_SAVING_REF (com.asksven.betterbatterystats.BetterBatteryStats): 52 s  (52 s) Count:38 0.1%
AlarmReceiver (com.sec.android.app.clockpackage.Clock): 49 s  (49 s) Count:31 0.1%
NetworkLocationLocator (Google Services): 40 s  (40 s) Count:267 0.1%
AlarmManager (Android System): 40 s  (40 s) Count:1858 0.1%
GOOGLE_C2DM (Google Services): 31 s  (31 s) Count:307 0.1%
*sync*_gmail-ls (com.google.android.gm.Gmail): 29 s  (29 s) Count:34 0.1%
ScheduleNextAlarmWakeLock (com.android.providers.calendar.Calendar storage): 27 s  (27 s) Count:44 0.1%
NetworkLocationActiveCollector (com.google.android.apps.maps.Maps): 21 s  (21 s) Count:786 0.0%
AlarmClockXtreme (com.alarmclock.xtreme.Alarm Clock Xtreme): 17 s  (17 s) Count:2 0.0%
sleep_broadcast (Android System): 16 s  (16 s) Count:1067 0.0%
FacebookService (com.facebook.katana.Facebook): 15 s  (15 s) Count:153 0.0%
EM/android_talk7aa0571e273a (Google Services): 14 s  (14 s) Count:20 0.0%
PhoneWindowManager.mBroadcastWakeLock (Android System): 10 s  (10 s) Count:792 0.0%
WifiStateMachine (Android System): 10 s  (10 s) Count:1140 0.0%
AudioOut_3 (1013): 10 s  (10 s) Count:8 0.0%
GTALK_ASYNC_CONN_com.google.android.gsf.gtalkservice.AndroidEndpoint (Google Services): 9 s  (9 s) Count:140 0.0%
RILS (com.sec.phone.com.sec.phone): 7 s  (7 s) Count:2 0.0%
AlarmManager (ccc71.bmw.pro.Battery Monitor Widget Pro): 7 s  (7 s) Count:84 0.0%
GTALK_CONN (Google Services): 7 s  (7 s) Count:886 0.0%
SCREEN_FROZEN (Android System): 7 s  (7 s) Count:1084 0.0%
FaceDetectionService (Android System): 6 s  (6 s) Count:1106 0.0%
StartingAlertService (org.dayup.gtask.GTasks): 5 s  (5 s) Count:88 0.0%
AlarmManager (com.anddoes.fancywidgets.Fancy Widgets): 4 s  (4 s) Count:504 0.0%
Checkin Service (Google Services): 4 s  (4 s) Count:239 0.0%
show keyguard (Android System): 4 s  (4 s) Count:43 0.0%
GpsLocationProvider (Android System): 3 s  (3 s) Count:971 0.0%
com.google.android.apps.googlevoice.PushNotificationRegistrationService (com.google.android.apps.googlevoice.Google Voice): 2 s  (2 s) Count:1 0.0%
DHCP (Android System): 2 s  (2 s) Count:1101 0.0%
SyncLoopWakeLock (Android System): 2 s  (2 s) Count:2104 0.0%
NLP PendingIntent client in com.google.android.googlequicksearchbox (com.google.android.apps.maps.Maps): 2 s  (2 s) Count:1679 0.0%
CDMA (Phone): 2 s  (2 s) Count:517 0.0%
AlarmManager (Google Services): 2 s  (2 s) Count:994 0.0%
MQTT (com.facebook.katana.Facebook): 1 s  (1 s) Count:172 0.0%
ActivityManager-Sleep (Android System): 1 s  (1 s) Count:1904 0.0%
Checkin Handoff (Google Services): 1 s  (1 s) Count:121 0.0%
NetworkLocationCacheUpdater (com.google.android.apps.maps.Maps): 1 s  (1 s) Count:784 0.0%
NetworkLocationBurstCollector (com.google.android.apps.maps.Maps): 1 s  (1 s) Count:1985 0.0%
AlarmManager (Phone): 1 s  (1 s) Count:181 0.0%
AlarmManager (com.facebook.katana.Facebook): 1 s  (1 s) Count:337 0.0%
*sync*_com.android.contacts (org.mots.haxsync.HaxSync): 1 s  (1 s) Count:1 0.0%
LocationManagerService (Android System): 1 s  (1 s) Count:326 0.0%
VibratorService (Phone): 1 s  (1 s) Count:57 0.0%
================
Kernel Wakelocks
================
"PowerManagerService" (): 37 m 45 s  (2265 s) Cnt:(c/wc/ec)1828/0/0 4.6%
"deleted_wake_locks" (): 12 m 37 s  (757 s) Cnt:(c/wc/ec)102087/0/884 1.1%
"mmc1_detect" (): 11 m 3 s  (663 s) Cnt:(c/wc/ec)871/0/871 1.3%
"sec-battery-monitor" (): 7 m 21 s  (441 s) Cnt:(c/wc/ec)999/0/0 0.9%
"mmc0_detect" (): 6 m 56 s  (416 s) Cnt:(c/wc/ec)871/0/871 0.8%
"mmc2_detect" (): 4 m 42 s  (282 s) Cnt:(c/wc/ec)334/0/334 0.6%
"bam_dmux_wakelock" (): 4 m 25 s  (265 s) Cnt:(c/wc/ec)309/50/155 0.5%
"smdcntl0" (): 3 m 5 s  (185 s) Cnt:(c/wc/ec)3185/11/438 0.4%
"alarm_rtc" (): 1 m 43 s  (103 s) Cnt:(c/wc/ec)631/524/8 0.2%
"smdcntl1" (): 1 m 26 s  (86 s) Cnt:(c/wc/ec)326/7/57 0.2%
"radio-interface" (): 1 m 9 s  (69 s) Cnt:(c/wc/ec)177/0/0 0.1%
"alarm" (): 1 m 5 s  (65 s) Cnt:(c/wc/ec)1357/0/0 0.1%
"sec-battery-measure" (): 20 s  (20 s) Cnt:(c/wc/ec)1012/0/0 0.0%
"pm8xxx_adc_wakelock" (): 17 s  (17 s) Cnt:(c/wc/ec)1012/0/0 0.0%
"rmt_storage_1081917312" (): 15 s  (15 s) Cnt:(c/wc/ec)55/0/0 0.0%
"rmt_storage_1081917136" (): 14 s  (14 s) Cnt:(c/wc/ec)55/0/0 0.0%
"prx_wake_lock" (): 6 s  (6 s) Cnt:(c/wc/ec)6/3/6 0.0%
"msm_ipc_read" (): 5 s  (5 s) Cnt:(c/wc/ec)110/0/0 0.0%
"msm_ipc_read" (): 3 s  (3 s) Cnt:(c/wc/ec)963/0/0 0.0%
"KeyEvents" (): 2 s  (2 s) Cnt:(c/wc/ec)50341/0/0 0.0%
"power-supply" (): 2 s  (2 s) Cnt:(c/wc/ec)999/0/0 0.0%
"ApmCommand" (): 1 s  (1 s) Cnt:(c/wc/ec)227/0/0 0.0%
"vib_present" ():  (0 s) Cnt:(c/wc/ec)1046/0/0 0.0%
"DS" ():  (0 s) Cnt:(c/wc/ec)2/0/2 0.0%
"qcril" ():  (0 s) Cnt:(c/wc/ec)959/0/0 0.0%
"msm_ipc_router_smd_xprt" ():  (0 s) Cnt:(c/wc/ec)5066/80/0 0.0%
"msm_ipc_read" ():  (0 s) Cnt:(c/wc/ec)2545/0/0 0.0%
"qmuxd_port_wl_0" ():  (0 s) Cnt:(c/wc/ec)2813/0/0 0.0%
"qmuxd_port_wl_1" ():  (0 s) Cnt:(c/wc/ec)276/0/0 0.0%
======================
Alarms (requires root)
======================
android (): Wakeups: 123
  Alarms: 1, Intent: android.intent.action.DATE_CHANGED
  Alarms: 94, Intent: com.android.server.LightsService.action.UPDATE_SVC_LED
  Alarms: 544, Intent: android.intent.action.TIME_TICK
  Alarms: 27, Intent: com.android.server.action.NETWORK_STATS_POLL
  Alarms: 81, Intent: com.android.server.ThrottleManager.action.POLL
  Alarms: 1, Intent: com.android.internal.policy.impl.PhoneWindowManager.DELAYED_KEYGUARD
  Alarms: 0, Intent: com.android.server.NetworkTimeUpdateService.action.POLL
  Alarms: 28, Intent: android.content.syncmanager.SYNC_ALARM

com.google.android.apps.maps (): Wakeups: 104
  Alarms: 12, Intent: com.google.android.apps.maps.nlp.ALARM_WAKEUP_SENSOR_UPLOADER
  Alarms: 1, Intent: com.google.android.apps.maps.nlp.ALARM_WAKEUP_ACTIVE_COLLECTOR
  Alarms: -3, Intent: com.google.android.apps.maps.nlp.ALARM_WAKEUP_S_COLLECTOR
  Alarms: 89, Intent: com.google.android.apps.maps.nlp.ALARM_WAKEUP_LOCATOR
  Alarms: 3, Intent: com.google.android.apps.maps.nlp.ALARM_WAKEUP_BURST_COLLECTOR

ccc71.bmw.pro (): Wakeups: 84

com.google.android.gsf (): Wakeups: 84
  Alarms: 8, Intent: com.google.android.intent.action.GTALK_RECONNECT
  Alarms: 25, Intent: com.google.android.intent.action.MCS_HEARTBEAT
  Alarms: 24, Intent: com.google.android.intent.action.SEND_IDLE

com.android.providers.calendar (): Wakeups: 22
  Alarms: 22, Intent: com.android.providers.calendar.intent.CalendarProvider2

org.dayup.gtask (): Wakeups: 14
  Alarms: 1, Intent: org.dayup.gtask.action.RepeatTaskSchedule
  Alarms: 13, Intent: org.dayup.gtask.action.AutoSyncTaskScheduler

com.android.phone (): Wakeups: 12
  Alarms: 129, Intent: com.android.internal.telephony.gprs-data-stall
  Alarms: 2, Intent: com.android.phone.UPDATE_CALLER_INFO_CACHE
  Alarms: 1, Intent: com.android.internal.telephony.gprs-reconnect.0
  Alarms: 11, Intent: com.android.internal.telephony.cdma-reconnect

com.google.android.googlequicksearchbox (): Wakeups: 10
  Alarms: 11, Intent: send_events

com.kebab.Llama (): Wakeups: 4

com.alarmclock.xtreme (): Wakeups: 2
  Alarms: 2, Intent: com.anglelabs.alarmclock.ALARM_ALERT

com.jb.gosms (): Wakeups: 1
  Alarms: 1, Intent: com.jb.schedule.private.box

com.google.android.apps.googlevoice (): Wakeups: 1
  Alarms: 1, Intent: com.google.android.apps.googlevoice.INBOX_NOTIFICATION_REGISTRATION

==========
CPU States
==========
96 MHz ():  0.0%
144 MHz ():  0.0%
192 MHz ():  0.0%
384 MHz (): 1 h 12 m 34 s  8.8%
486 MHz (): 4 m 39 s  0.6%
540 MHz (): 2 m 20 s  0.3%
594 MHz (): 3 m 37 s  0.4%
648 MHz (): 3 m 12 s  0.4%
702 MHz (): 2 m 9 s  0.3%
756 MHz (): 2 m 1 s  0.2%
810 MHz (): 1 m 27 s  0.2%
864 MHz (): 1 m 56 s  0.2%
918 MHz (): 1 m 58 s  0.2%
972 MHz (): 1 m 10 s  0.1%
1.03 GHz (): 2 m 42 s  0.3%
1.08 GHz (): 2 m 21 s  0.3%
1.13 GHz (): 2 m 10 s  0.3%
1.19 GHz (): 1 m 52 s  0.2%
1.24 GHz (): 51 s  0.1%
1.3 GHz (): 1 m 23 s  0.2%
1.35 GHz (): 1 m 22 s  0.2%
1.4 GHz (): 1 m 25 s  0.2%
1.46 GHz (): 2 m 4 s  0.3%
1.51 GHz (): 9 m 44 s  -1.1%
1.51 GHz ():  0.3%
1.51 GHz ():  0.3%
1.51 GHz ():  0.3%
1.51 GHz ():  0.3%
1.51 GHz ():  0.3%
1.51 GHz ():  0.3%
Deep Sleep (): 11 h 43 m 54 s  85.1%
 

Attachments

  • Screenshot_2012-12-15-06-30-35.jpg
    Screenshot_2012-12-15-06-30-35.jpg
    30.9 KB · Views: 456
  • Screenshot_2012-12-15-06-30-44.jpg
    Screenshot_2012-12-15-06-30-44.jpg
    21.5 KB · Views: 404
  • Screenshot_2012-12-15-06-30-54.jpg
    Screenshot_2012-12-15-06-30-54.jpg
    20.5 KB · Views: 437

Quatrix

Member
Jul 18, 2011
8
1
This is something Google needs to fix. I've had problems with Maps (or related location service) using the GPS for 4 - 6 minutes in the background for no apparent reason. I'm not signed into Latitude or anything. It started more than a year ago, and if I uninstall updates and roll back to the stock version of Maps, the problem goes away. I'm aware that I can disable GPS globally, but that's inconvenient and shouldn't be necessary.
 
Last edited:

arpruss

Senior Member
Jul 3, 2010
909
434
pruss.mobi
I don't think it's an accident. My guess is that it's Google updating their network to location database by using our phones for data gathering.

If you turn off network based location services, I think this may disappear.
 

Quatrix

Member
Jul 18, 2011
8
1
This has been driving me crazy for a long time. Since I unplugged the phone about 2 days ago, Maps (NetworkLocationActiveCollector) has used 50 seconds of CPU time and has kept the phone awake for 14 minutes, using the GPS the whole time. Interestingly, it always happens for exactly 2 minutes at a time.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 13
    I've been annoyed by Google Maps' NetworkLocationPassiveCollector, NetworkLocationBurstCollector and NetworkLocationActiveCollector wakelocks, which I think are used to collect location data when the device is asleep. I am not objecting to Google collecting this data, but I am objecting to their keeping my device up and running down battery to collect it. To that end, I've been working on a wakelock killer.

    If you want to kill network location altogether, you can just disable it in your system settings and maybe then you don't need to bother my wake lock killing. But I like the idea of network location.

    My initial experiment is a purely commandline beast. Download this (source included, of course; you may use it under the simpler BSD license). Install notify_wake_lock in /data/local (say), and do (from a terminal emulator, adb shell, or a script):
    Code:
    su
    chmod 755 /data/local/notify_wake_lock
    /data/local/notify_wake_lock &

    What this does is watch for the three wake locks, and one is set, it releases it within a second. This uses the inotify API rather than polling. I don't know what resource usage it adds--you are welcome to collect and report data.

    To terminate the wakelock killer, do:
    Code:
    su
    killall notify_wake_lock

    If something goes wrong, just reboot.

    For fuller Google Maps taming, you might want to disable some of the background processes associated with the network location:
    Code:
    su
    pm disable com.google.android.apps.maps/com.google.googlenav.networkinitiated.NetworkInitiatedService
    pm disable com.google.android.apps.maps/com.google.googlenav.networkinitiated.NetworkInitiatedReceiver
    Disabling these two processes still allows network location to work on demand, but it may decrease what happens in the background.

    And of course killing Latitude completely may be a good idea:
    Code:
    su
    pm disable com.google.android.apps.maps/com.google.googlenav.friend.android.ServiceReceiver
    pm disable com.google.android.apps.maps/com.google.googlenav.friend.android.LocationFriendService
    pm disable com.google.android.apps.maps/com.google.googlenav.friend.reporting.LocationReceiverService
    pm disable com.google.android.apps.maps/com.google.googlenav.friend.reporting.LocationReportingService
    pm disable com.google.android.apps.maps/com.google.googlenav.friend.checkins.CheckinNotificationService
    pm disable com.google.android.apps.maps/com.google.googlenav.friend.reporting.LocationReportingIntentReceiver
    pm disable com.google.android.apps.maps/com.google.googlenav.appwidget.friends.FriendsAppWidgetUpdateService
    pm disable com.google.android.apps.maps/com.google.googlenav.friend.history.LocationHistoryIntentReceiver
    pm disable com.google.android.apps.maps/com.google.googlenav.friend.reporting.LocationPrivacyService
    pm disable com.google.android.apps.maps/com.google.googlenav.friend.OptInIntentService
    pm disable com.google.android.apps.maps/com.google.googlenav.appwidget.friends.FriendsAppWidgetProvider
    pm disable com.google.android.apps.maps/com.google.android.maps.LatitudeActivity

    (The last of these removes the icon for it from your apps listing.)

    These pm disable settings survive a reboot. If you change your mind about these, you need to do them again with "enable" in place of "disable".
    3
    Appears that this project was abandoned. If anybody stumbles upon this I was able to resolve some of the wakelocks using RomToolbox and disabling all of the checkboxes for maps under autostart manager. My GoogleNOW still works fine. Also disabling all of the options in maps-settings except for 'enable location history' has helped a lot and still allows NOW to work. Hope this helps someone. :good:
    1
    I haven't done anything with project for lack of feedback.