2011-09-15 19 views
1

上下文:我有一個應用程序已經發布市場一年多了,最近一次更新是三個月前。從來沒有ANR錯誤的問題。該應用程序相當穩定,100,000+活動安裝。Sprint鎖定我的應用程序? (來自com.carrieriq.iqagent.client的ANR)

最近,我已經從我的應用程序的各個地方獲取ANR keyDispatchingTimedOut報告(其中約30個),並且它們都與com.carrieriq.iqagent.client有關。

例如, DALVIK線程:

 
"main" prio=5 tid=1 MONITOR 
    | group="main" sCount=1 dsCount=0 s=N obj=0x40020a30 self=0xcd88 
    | sysTid=19807 nice=0 sched=0/0 cgrp=default handle=-1345026000 
    at com.carrieriq.iqagent.client.NativeClient.acquire(NativeClient.java:~35) 
    - waiting to lock (a java.lang.Object) held by threadid=2 (HeapWorker) 
    at com.carrieriq.iqagent.client.IQClient.(IQClient.java:115) 
    at com.carrieriq.iqagent.client.IQClient.(IQClient.java:105) 
    at android.app.AlertDialog$Builder.create(AlertDialog.java:826) 
    at android.app.AlertDialog$Builder.show(AlertDialog.java:864) 
    at com.myapp.button.pushed$SomeRunnable.run(SomeRunnable.java:299) 

--The SomeRunnable.java線299僅僅是adialog.show();

在報告中唯一的其他線程是:

 
"HeapWorker" daemon prio=5 tid=2 NATIVE 
    | group="system" sCount=1 dsCount=0 s=N obj=0x43b55c98 self=0x11eba8 
    | sysTid=19808 nice=0 sched=0/0 cgrp=default handle=1174376 
    at com.carrieriq.iqagent.client.NativeClient.clientShutdown(Native Method) 
    at com.carrieriq.iqagent.client.NativeClient.release(NativeClient.java:81) 
    at com.carrieriq.iqagent.client.IQClient.disconnect(IQClient.java:341) 
    at com.carrieriq.iqagent.client.IQClient.finalize(IQClient.java:354) 
    at dalvik.system.NativeStart.run(Native Method) 

我在網上用Google搜索,發現人聲稱有電池問題吧: http://forums.androidcentral.com/sprint-optimus-s/45729-ever-wondered-what-iqagent.html

所以,問題是,我不知道我應該怎麼做(檢查包是否存在並警告用戶?)或者它是真的嗎?

這個包顯示了我得到的所有ANR蹤跡。 (所以只有衝刺用戶一直有這個問題)

回答

0

這似乎是在IQclient合法的競爭條件。有趣的部分是,當你的線程試圖處理按鈕按下時,HeapWorker線程被關閉。如果你能弄清楚爲什麼這個線程正在關閉,你可能會找到一個解決方案。可悲的是,沒有複製,這可能很難。