hi -
is it possible to change the GC schedule to run when the phone is idle or when the CPU is below a certain threshold. Currently when ever the GC runs it runs when the user app needs memory, thus contributing to the need. trying to check if any one has changed the dalvik GC scheduler ?
GC does not do anything extensive.
All it does is to mark certain memory locations as free in the global memory table. This hardly contributes to any processing overhead and thus, there is no need for it to try and clean up after intervals.
Trying to do anything like that would be over-optimization and would lead to degraded performance and battery life.
I've tried clearing the dalvikvm cache but that didn't solve my 'problem'.
My concern was when opening aLogcat, it puts
"D/dalvikvm( 1451): GC_EXPLICIT freed 655 objects / 23384 bytes in 40ms"
over and over
usually the 1451 stays the same, randomly it will be another number, not often.
It logs this message once every second, this seems unnecessary, but might not be...
Can anyone offer some suggestions as to what dalvikvm is doing and if it is necessary to stop it?
I've seen other people post their log files but they do not have this dalvikvm process going on.
I do have a modified prop.build file installed, i've attached it if anyone thinks it's worth looking at.
derekm_ said:
I've tried clearing the dalvikvm cache but that didn't solve my 'problem'.
My concern was when opening aLogcat, it puts
"D/dalvikvm( 1451): GC_EXPLICIT freed 655 objects / 23384 bytes in 40ms"
over and over
usually the 1451 stays the same, randomly it will be another number, not often.
It logs this message once every second, this seems unnecessary, but might not be...
Can anyone offer some suggestions as to what dalvikvm is doing and if it is necessary to stop it?
I've seen other people post their log files but they do not have this dalvikvm process going on.
I do have a modified prop.build file installed, i've attached it if anyone thinks it's worth looking at.
Click to expand...
Click to collapse
That has to do with the 'level' or verbosity of the log your seeing. Those are low-level events. I forget how to do this in alogcat, but you just need to change the verbosity level and it won't show them
Why do so many launchers force close on the kindle fire? Is their a way to fix this?
Ex:the following launchers force close:
°fullscreen launcher
°ics launcher late build
°launcher pro
°Regina launcher
°spb shell 3d
°launcher 7
°nemus launcher
Etc...
The following launchers don't force close:
°HCL
°360 launcher
°adw launcher ex
°Go launcher
°ics launcher early build
Any more?
Try CM7.
Sent from my Kindle Fire using xda premium
ADW EX works perfect. The normal ADW is unstable.
shravbits said:
ADW EX works perfect. The normal ADW is unstable.
Click to expand...
Click to collapse
I second that ADW EX works perfect for me,,,
Rod
thanks
Thanks for the info.
Rodhargis said:
I second that ADW EX works perfect for me,,,
Rod
Click to expand...
Click to collapse
shravbits said:
ADW EX works perfect. The normal ADW is unstable.
Click to expand...
Click to collapse
I could of sworn i tested that,but i was probably thinking of launcher pro.But yeah your right,i just tested it
Use adw ex on my KF, works great
I used go launcher ex for 2 months before going to ics for daily use Never had any problems.
Sent from my ADR6400L using Tapatalk
The original ics launcher works well. I tried the late build, and it crashes. The original one is stable.
Just stick to Go and ADW, the other ones suck anyways (as far as 3rd party launchers are concerned imo)
ADW EX doesn't have really small area on screen for those of you who us it?
Sent from my HP Touchpad using Tapatalk.
aaron1006 said:
Just stick to Go and ADW, the other ones suck anyways (as far as 3rd party launchers are concerned imo)
Click to expand...
Click to collapse
You obviously don't run CM9. Nova Launcher is righteous.
I have a feeling it's because the Kindle version of Android is so heavily tweaked. You should really try a ROM, they work well.
hmmmmmmmm
schleppy said:
I have a feeling it's because the Kindle version of Android is so heavily tweaked. You should really try a ROM, they work well.
Click to expand...
Click to collapse
Good explanation.And yeah, Im sure i will get a custom rom some time soon.I just have not installed TWRP yet.
logcat
Here is the logcat from clicking on ICS launcher,Can anyone find a fix to make it not force close?
--------- beginning of /dev/log/system
W/InputManagerService( 1374): Window already focused, ignoring focus gain of: [email protected]
D/LAB126 ( 1439): got home button softkey click!
D/LAB126 ( 1439): collapse softkeys
D/ActivityManager( 1374): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 cmp=android/com.android.internal.app.ResolverActivity } from pid 1374
--------- beginning of /dev/log/main
V/alogcat ( 4512): save instance
V/alogcat ( 4512): paused
I/ActivityManager( 1374): Displayed android/com.android.internal.app.ResolverActivity: +362ms
D/ActivityManager( 1374): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x13a00000 cmp=mobi.SyndicateApps.ICSv2/.Launcher } from pid 1374
I/ActivityManager( 1374): Start proc android.process.acore for activity mobi.SyndicateApps.ICSv2/.Launcher: pid=4551 uid=10041 gids={1015, 3003}
D/alogcat ( 4512): stopping ...
D/alogcat ( 4512): stopped
W/ProcessStats( 1374): Skipping unknown process pid 4549
W/ProcessStats( 1374): Skipping unknown process pid 4558
I/ActivityThread( 4551): Pub mobi.SyndicateApps.ICSv2.settings: mobi.SyndicateApps.ICSv2.LauncherProvider
D/ContentProvider( 4551): Videos folder exist
D/ContentProvider( 4551): Pictures folder exists
D/dalvikvm( 4551): GC_CONCURRENT freed 206K, 45% free 3315K/5959K, external 847K/1181K, paused 2ms+2ms
I/ActivityManager( 1374): Start proc com.amazon.cloud9 for service com.amazon.cloud9/.ConfigUpdateService: pid=4562 uid=32012 gids={3003, 1015}
D/dalvikvm( 4551): GC_CONCURRENT freed 301K, 45% free 3490K/6279K, external 1030K/1181K, paused 2ms+3ms
D/dalvikvm( 4551): GC_EXTERNAL_ALLOC freed 20K, 45% free 3485K/6279K, external 1150K/1181K, paused 44ms
D/dalvikvm( 4551): GC_EXTERNAL_ALLOC freed 11K, 45% free 3492K/6279K, external 1743K/1810K, paused 29ms
D/AndroidRuntime( 4551): Shutting down VM
W/dalvikvm( 4551): threadid=1: thread exiting with uncaught exception (group=0x40015560)
E/AndroidRuntime( 4551): FATAL EXCEPTION: main
E/AndroidRuntime( 4551): java.lang.RuntimeException: Unable to start activity ComponentInfo{mobi.SyndicateApps.ICSv2/mobi.SyndicateApps.ICSv2.Launcher}: java.lang.NullPointerException
E/AndroidRuntime( 4551): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
E/AndroidRuntime( 4551): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
E/AndroidRuntime( 4551): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
E/AndroidRuntime( 4551): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
E/AndroidRuntime( 4551): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 4551): at android.os.Looper.loop(Looper.java:130)
E/AndroidRuntime( 4551): at android.app.ActivityThread.main(ActivityThread.java:3683)
E/AndroidRuntime( 4551): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 4551): at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime( 4551): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:850)
E/AndroidRuntime( 4551): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:608)
E/AndroidRuntime( 4551): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 4551): Caused by: java.lang.NullPointerException
E/AndroidRuntime( 4551): at mobi.SyndicateApps.ICSv2.Workspace.setWallpaperHack(Workspace.java:1667)
E/AndroidRuntime( 4551): at mobi.SyndicateApps.ICSv2.Launcher.updateAlmostNexusUI(Launcher.java:4592)
E/AndroidRuntime( 4551): at mobi.SyndicateApps.ICSv2.Launcher.setupViews(Launcher.java:1687)
E/AndroidRuntime( 4551): at mobi.SyndicateApps.ICSv2.Launcher.onCreate(Launcher.java:903)
E/AndroidRuntime( 4551): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
E/AndroidRuntime( 4551): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
E/AndroidRuntime( 4551): ... 11 more
W/ActivityManager( 1374): Force finishing activity mobi.SyndicateApps.ICSv2/.Launcher
V/alogcat ( 4512): started
I/alogcat ( 4512): new intent: android.intent.action.MAIN
W/ActivityManager( 1374): Activity pause timeout for HistoryRecord{4090f1e0 mobi.SyndicateApps.ICSv2/.Launcher}
D/alogcat ( 4512): stopping ...
D/alogcat ( 4512): canceling periodic saves
V/alogcat ( 4512): resumed
D/alogcat ( 4512): starting ...
D/dalvikvm( 4512): GC_CONCURRENT freed 705K, 53% free 2931K/6215K, external 1116K/1614K, paused 2ms+3ms
I/Process ( 4551): Sending signal. PID: 4551 SIG: 9
I/ActivityManager( 1374): Process android.process.acore (pid 4551) has died.
W/InputManagerService( 1374): Window already focused, ignoring focus gain of: [email protected]
W/ActivityManager( 1374): Service crashed 2 times, stopping: ServiceRecord{4091f468 mobi.SyndicateApps.ICSv2/com.apperhand.device.android.AndroidSDKProvider}
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 305K, 54% free 2913K/6215K, external 1591K/1614K, paused 76ms
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 12K, 54% free 2902K/6215K, external 1890K/1893K, paused 72ms
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 61K, 54% free 2908K/6215K, external 2027K/2031K, paused 72ms
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 63K, 54% free 2910K/6215K, external 2105K/2106K, paused 36ms
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 61K, 54% free 2910K/6215K, external 2138K/2152K, paused 25ms
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 62K, 54% free 2911K/6215K, external 2158K/2172K, paused 25ms
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 62K, 54% free 2911K/6215K, external 2158K/2172K, paused 25ms
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 62K, 54% free 2911K/6215K, external 2174K/2175K, paused 25ms
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 63K, 54% free 2910K/6215K, external 2154K/2168K, paused 24ms
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 63K, 54% free 2911K/6215K, external 2191K/2201K, paused 25ms
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 61K, 54% free 2913K/6215K, external 2178K/2205K, paused 25ms
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 65K, 54% free 2909K/6215K, external 2174K/2201K, paused 27ms
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 62K, 54% free 2910K/6215K, external 2178K/2188K, paused 27ms
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 60K, 54% free 2911K/6215K, external 2158K/2172K, paused 27ms
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 6K, 54% free 2907K/6215K, external 2171K/2185K, paused 26ms
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 60K, 54% free 2908K/6215K, external 2154K/2168K, paused 33ms
D/LAB126 ( 1439): got menu button softkey click!
D/LAB126 ( 1439): collapse because of menu
D/LAB126 ( 1439): collapse softkeys
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 63K, 54% free 2908K/6215K, external 2174K/2185K, paused 33ms
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 63K, 54% free 2909K/6215K, external 2174K/2188K, paused 25ms
W/KeyCharacterMap( 4512): No keyboard for id 0
W/KeyCharacterMap( 4512): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 117K, 54% free 2913K/6215K, external 2171K/2175K, paused 25ms
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 66K, 54% free 2914K/6215K, external 2174K/2188K, paused 24ms
D/dalvikvm( 4512): GC_EXTERNAL_ALLOC freed 67K, 54% free 2913K/6215K, external 2174K/2188K, paused 29ms
How To Get A Logcat
Well I always read on the forum about logcat, I knew it was about getting logs or system activity, thought it was a very difficult thing to do and then I read about it and realized it is so simple.In the below explanation
I will show you an app which is running even when it should not and hence draining the battery.So, here we go.
What is logcat?
Logcat is the command to view the internal logs of the Andr
oid system. Viewing logs is often the best way to diagnose a problem, and is required for many issues. This way you'll find out what apps are doing in the background without you noticing.
Advantages of Logcat-
*Debugging
*You can see what processes are running, if a process is running after a certain interval of time, it will eat battery. So you can also find out what is draining your battery.
Etc.....
How do I install it?
1.Make sure you've enabled on USB debugging on your phone in Settings->Application ->Development
2. Get the Android SDK here:--http://developer.android.com/sdk/index.html
3.Extract the SDK to any folder say C:\Android
4.Make sure that you have installed the drivers for your phone and the operating system recognizes your phone.
Everything installed? Continuing...
Now how to actually access the log, everything in*italic*are commands you need to enter.
1-Open the 'run' dialog by pressing the 'Windows' + 'r' buttons on your keyboard (minimize the browser & other non-windows programs)
2-cmd*(this will open a DOS prompt)
3-cd c:\Android\tools*(go to the directory where you extracted the SDK)
4-adb shell
5-Now you'll see just a '$'logcat
You can now just press the power button on your phone to see what happens. It displays everything the device is doing.
So the thing is: leave your device connected for a while and see what is actually going on when you're not using it.
An Example
>Twidroid auto refreshing my Tweets
Code:
D/dalvikvm( 1287): GC freed 3 objects / 72 bytes in 92ms D/dalvikvm( 2216): GC freed 6646 objects / 313032 bytes in 104ms D/NetworkLocationProvider( 75): onCellLocationChanged [***] D/LocationManager( 2216): removeUpdates: listener = com.levelup.beautifulwidgets [email protected] D/dalvikvm( 1253): GC freed 281 objects / 12688 bytes in 93ms D/NetworkLocationProvider( 75): onCellLocationChanged [***] D/LocationManager( 2216): removeUpdates: listener = com.levelup.beautifulwidgets [email protected] D/dalvikvm( 75): GC freed 41839 objects / 1963448 bytes in 88ms D/dalvikvm( 1287): GC freed 3 objects / 72 bytes in 94ms D/NetworkLocationProvider( 75): onCellLocationChanged [***] D/LocationManager( 2216): removeUpdates: listener = com.levelup.beautifulwidgets [email protected] D/dalvikvm( 2216): GC freed 6657 objects / 314648 bytes in 35ms D/NetworkLocationProvider( 75): onCellLocationChanged [***] D/LocationManager( 2216): removeUpdates: listener = com.levelup.beautifulwidgets [email protected] D/dalvikvm( 1253): GC freed 279 objects / 12640 bytes in 94ms D/NetworkLocationProvider( 75): onCellLocationChanged [***] D/LocationManager( 2216): removeUpdates: listener = com.levelup.beautifulwidgets [email protected] D/dalvikvm( 1287): GC freed 3 objects / 72 bytes in 60ms D/dalvikvm( 2216): GC freed 6661 objects / 314192 bytes in 104ms D/NetworkLocationProvider( 75): onCellLocationChanged [***] D/LocationManager( 2216): removeUpdates: listener = com.levelup.beautifulwidgets [email protected]
If you're seeing apps that are constantly busy when they shouldn't that means they're draining battery because of bugs in the app/ bad coding/ ...
There are vaious examples. In this i took an example of battery drain.
Hope it helps you.
Nice xplanation mate
+1
Great tutorial will try it thanks a lot
You know you are rooted when you use XDA more than FB
Or,you could just download CatLog from the market and use it to view the log
Prawesome said:
Or,you could just download CatLog from the market and use it to view the log
Click to expand...
Click to collapse
Ya that's easy
Or you can always do logcat>sdcard/logcat.txt from a terminal emulator!
Awesome tutorial man.
Sent from my GT-S5830 using xda premium
yeowwwai said:
Awesome tutorial man.
Sent from my GT-S5830 using xda premium
Click to expand...
Click to collapse
Thanks
Yeah, now i'm gonna discover what is causing the unmounts of my sd
Atlast the recognized contributor:thumbdown: contributed something!
Sent from my GT-I9100 using xda premium
SuperDev said:
Atlast the recognized contributor:thumbdown: contributed something!
Sent from my GT-I9100 using xda premium
Click to expand...
Click to collapse
I have contibuted a lot
What have you done ? SuperDev ?
SuperDev said:
Atlast the recognized contributor:thumbdown: contributed something!
Sent from my GT-I9100 using xda premium
Click to expand...
Click to collapse
And your point is ?
Not cool kid . Not cool .
Defy-ing all limits.
Live stream on youtube or crashes the youtube app or doesn't play at all.
Over wifi.
Rooted.
All other videos on youtube play just fine.
Streams play fine on twitch tv and azubu tv.
Anyone has the same problem ?
Here's the logcat just in case not that i have a clue of what it says.
Android Tuner (logcat)
======================
D/19:31:18.630 dalvikvm( 5714)
GC_CONCURRENT freed 1247K, 8% free 16117K/17479K, paused 3ms+10ms
D/19:31:19.770 dalvikvm( 5714)
GC_CONCURRENT freed 1169K, 8% free 16904K/18247K, paused 7ms+9ms
D/19:31:29.040 dalvikvm( 5714)
GC_CONCURRENT freed 1958K, 11% free 17007K/19079K, paused 3ms+23ms
E/19:31:31.450 Ticker ( 5714)
In action: watch, ticks can't be marked in the past
V/19:31:31.690 NativeCrypto( 5714)
Write error: ssl=0xeb8a48: I/O error during system call, Broken pipe
V/19:31:31.690 NativeCrypto( 5714)
Write error: ssl=0xeb8a48: I/O error during system call, Broken pipe
D/19:31:34.150 dalvikvm( 5714)
GC_FOR_ALLOC freed 3590K, 21% free 15215K/19207K, paused 111ms
I/19:31:34.160 dalvikvm-heap( 5714)
Grow heap (frag case) to 16.844MB for 1965476-byte allocation
D/19:31:34.210 dalvikvm( 5714)
GC_FOR_ALLOC freed <1K, 19% free 17134K/21127K, paused 55ms
D/19:31:34.350 dalvikvm( 5714)
GC_CONCURRENT freed 312K, 21% free 16843K/21127K, paused 5ms+6ms
D/19:31:35.960 dalvikvm( 5714)
GC_FOR_ALLOC freed 14K, 21% free 16837K/21127K, paused 66ms
I/19:31:35.970 dalvikvm-heap( 5714)
Grow heap (frag case) to 18.428MB for 1965476-byte allocation
D/19:31:36.040 dalvikvm( 5714)
GC_FOR_ALLOC freed <1K, 19% free 18756K/23047K, paused 58ms
D/19:31:36.510 dalvikvm( 5714)
GC_CONCURRENT freed 3225K, 24% free 17579K/23047K, paused 4ms+7ms
D/19:31:36.960 dalvikvm( 5714)
GC_CONCURRENT freed 2423K, 26% free 17204K/23047K, paused 4ms+7ms
W/19:31:37.240 dalvikvm( 5714)
threadid=16: thread exiting with uncaught exception (group=0x40a721f8)
E/19:31:37.240 AndroidRuntime( 5714)
FATAL EXCEPTION: pool-2-thread-2
E/19:31:37.240 AndroidRuntime( 5714)
java.lang.ClassCastException: edq cannot be cast to edr
E/19:31:37.240 AndroidRuntime( 5714)
at fea.a(PG:52)
E/19:31:37.240 AndroidRuntime( 5714)
at djn.a(PG:52)
E/19:31:37.240 AndroidRuntime( 5714)
at djp.a(PG:233)
E/19:31:37.240 AndroidRuntime( 5714)
at czm.onResponse(PG:75)
E/19:31:37.240 AndroidRuntime( 5714)
at dkg.a(PG:47)
E/19:31:37.240 AndroidRuntime( 5714)
at lo.run(PG:99)
E/19:31:37.240 AndroidRuntime( 5714)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
E/19:31:37.240 AndroidRuntime( 5714)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
E/19:31:37.240 AndroidRuntime( 5714)
at ewj.run(PG:40)
E/19:31:37.240 AndroidRuntime( 5714)
at java.lang.Thread.run(Thread.java:856)
W/19:31:37.410 YouTube ( 5714)
(unknown) CsiAction [chv] already ticked pl_int. Ignored.
D/19:31:38.140 OpenGLRenderer( 5714)
Flushing caches (mode 0)
D/19:31:38.850 OpenGLRenderer( 5714)
Flushing caches (mode 1)
I/19:31:39.600 Process ( 5714)
Sending signal. PID: 5714 SIG: 9
I/19:31:39.640 ActivityManager( 483)
Process com.google.android.youtube (pid 5714) has died.
Same on all of my devices (4.0 - 4.4). It must be connected to my Google Account settings + newer YouTube version. Older YT version 5.7.41 works OK.
So what's so special about my Google Account?:
- Localization (UA)
- Channel name is different from my Google Account name. Actually I have to select one of either GA name or YT channel name every time I install YT.