Showed up fine here (gmail). Maybe view the rich-text/html version of
his message..?

> the <span style=3D"color: rgb(255, 0, 0);">parame=
> ters in RED</span> mean

On Wed, Oct 21, 2009 at 12:04 PM, lbcoder <[email protected]> wrote:
>
> Well, if the program is well written, then the programmer should never
> have to worry about this at all.
>
> It is also very difficult to guess what specific fields he is
> interested in understanding unless he tells us. He might have (said
> something about being in RED), but it didn't come through in the
> message.
>
> Regarding the traces.txt file, its pretty straight forward. It shows
> traces for all of the threads running within the process that
> triggered the ANR, right down to LINE NUMBER for non-native code.
>
> On Oct 21, 10:36 am, Disconnect <[email protected]> wrote:
>> While this is all excellent advice, he's asking about specific fields
>> in the log dump.
>>
>> On Wed, Oct 21, 2009 at 10:23 AM, Streets Of Boston
>>
>> <[email protected]> wrote:
>>
>> > Yep!
>>
>> > And a 'long time' can mean different things.
>> > If you need to have a smooth UI experience (and you should), keep the
>> > processing for any UI-event (i.e. any method called on the main UI
>> > thread) under 100ms (1/10th of a second). And that's pushing it.
>>
>> > On button clicks, when the user moves from one screen to another, and
>> > similar events, the processing-time for UI-events can be a bit longer,
>> > but 1 second is pushing it.
>>
>> > When you get the ANR, it means that your UI-event processing took
>> > waaaaaaaaaaay too long.
>> > The goal is to make the UI experience as pleasant as possible. Even if
>> > you don't get an ANR, your UI experience may already appear to be
>> > slow.
>>
>> > On Oct 21, 9:41 am, lbcoder <[email protected]> wrote:
>> >> ANR means that you have something holding up the UI thread for longer
>> >> than the specified time.
>>
>> >> For example;
>> >> You have a button on the screen. The button runs a network request
>> >> that takes 30 seconds to process. This network request is within the
>> >> same thread as the button, so the button's click listener doesn't
>> >> return control to the UI thread for a long time. ANR. To fix this,
>> >> have the button start a new THREAD and run the network request from
>> >> within this thread, that way the button returns immediately and the UI
>> >> thread continues to function while the long process happens in the
>> >> background.
>>
>> >> IN GENERAL, anything that can potentially take a "long time" (such as
>> >> networking or data processing) should be done in a new thread.
>>
>> >> On Oct 21, 2:06 am, Manohar Mahapatra <[email protected]> wrote:
>>
>> >> > Hi ,
>>
>> >> > I am interested to know the nitty gritty of ANR dialogs and How to 
>> >> > analyse
>> >> > ANRs with the info I get , A typical ANR looks like this( see below) 
>> >> > but I
>> >> > cant figure out much Info from this .
>> >> > Also I want to know what info should I look for in /data/anr/traces.txt 
>> >> > to
>> >> > compliment my analysis of such a log and pin point the root cause .
>> >> > I want to know what these the parameters in RED mean
>>
>> >> > 01-01 01:43:05.313: WARN/WindowManager(1834): Key dispatching timed out
>> >> > sending to
>> >> > com.android.settings/com.android.settings.bluetooth.BluetoothSettings
>> >> > 01-01 01:43:05.318: WARN/WindowManager(1834): *Dispatch state*:
>> >> > {{KeyEvent{action=1
>> >> > code=4 repeat=0 meta=0 scancode=212 mFlags=8} to Window{435c7df8
>> >> > com.android.settings/com.android.settings.bluetooth.BluetoothSettings
>> >> > paused=false} @ 1104543391080 lw=Window{435c7df8
>> >> > com.android.settings/com.android.settings.bluetooth.BluetoothSettings
>> >> > paused=false} lb=android.os.binderpr...@43502ae0 fin=false gfw=true 
>> >> > ed=true
>> >> > tts=0 wf=false fp=false mcf=Window{4355bf08
>> >> > com.android.settings/com.android.settings.bluetooth.BluetoothSettings
>> >> > paused=false}}}
>> >> > 01-01 01:43:05.323: WARN/WindowManager(1834):* Current state*:  {{null 
>> >> > to
>> >> > Window{4355bf08
>> >> > com.android.settings/com.android.settings.bluetooth.BluetoothSettings
>> >> > paused=false} @ 1104543785321 lw=Window{4355bf08
>> >> > com.android.settings/com.android.settings.bluetooth.BluetoothSettings
>> >> > paused=false} lb=android.os.binderpr...@43539ea8 fin=false gfw=true 
>> >> > ed=true
>> >> > tts=0 wf=false fp=false mcf=Window{4355bf08
>> >> > com.android.settings/com.android.settings.bluetooth.BluetoothSettings
>> >> > paused=false}}}
>> >> > 01-01 01:43:05.438: INFO/ActivityManager(1834): ANR (application not
>> >> > responding) in process: com.android.settings
>> >> > 01-01 01:43:05.438: INFO/ActivityManager(1834): Annotation:
>> >> > keyDispatchingTimedOut
>> >> > 01-01 01:43:05.438: INFO/ActivityManager(1834): CPU usage:
>> >> > 01-01 01:43:05.438: INFO/ActivityManager(1834): Load: 0.46 / 1.05 / 1.26
>> >> > 01-01 01:43:05.438: INFO/ActivityManager(1834): CPU usage from 5421ms to
>> >> > 94ms ago:
>> >> > 01-01 01:43:05.438: INFO/ActivityManager(1834):   system_server: 5% = 3%
>> >> > user + 2% kernel
>> >> > 01-01 01:43:05.438: INFO/ActivityManager(1834):   qt5480_work_que: 1% = 
>> >> > 0%
>> >> > user + 1% kernel
>> >> > 01-01 01:43:05.438: INFO/ActivityManager(1834):   events/0: 0% = 0% 
>> >> > user +
>> >> > 0% kernel
>> >> > 01-01 01:43:05.438: INFO/ActivityManager(1834):   akmd2: 0% = 0% user + 
>> >> > 0%
>> >> > kernel
>> >> > 01-01 01:43:05.438: INFO/ActivityManager(1834):   btld: 0% = 0% user + 
>> >> > 0%
>> >> > kernel
>> >> > 01-01 01:43:05.438: INFO/ActivityManager(1834):   com.android.phone: 0% 
>> >> > = 0%
>> >> > user + 0% kernel
>> >> > 01-01 01:43:05.438: INFO/ActivityManager(1834):   drexe: 0% = 0% user + 
>> >> > 0%
>> >> > kernel
>> >> > 01-01 01:43:05.438: INFO/ActivityManager(1834):   com.wssyncmlnps: 0% = 
>> >> > 0%
>> >> > user + 0% kernel
>> >> > 01-01 01:43:05.438: INFO/ActivityManager(1834): TOTAL: 7% = 3% user + 3%
>> >> > kernel
>> >> > 01-01 01:43:05.443: INFO/ActivityManager(1834): Removing old ANR trace 
>> >> > file
>> >> > from /data/anr/traces
>>
>> >> > I did go through the 
>> >> > *http://developer.android.com/guide/practices/design/responsiveness.html*
>> >> > but that gives a very good head start , I request if  anybody has 
>> >> > documented
>> >> > more on the ANR analysis / case studies , please share the link/blog .
>>
>> >> > I wanted to know what causes the WindowManager/ActivityManager to 
>> >> > trigger an
>> >> > ANR. I want to understand from a Design/Code perspective as how ANR 
>> >> > dilaog
>> >> > is formed.
>>
>> >> > Thanks
>> >> > AndUzer- Hide quoted text -
>>
>> >> - Show quoted text -
>>
>>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Android Discuss" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/android-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to