Спринт запирает мое приложение?(ANR от com.carrieriq.iqagent.client) - PullRequest
1 голос
/ 15 сентября 2011

Контекст: у меня приложение уже выпущено на рынок более года, а последнее обновление было три месяца назад.Никогда не было проблем с ошибками ANR.Приложение довольно стабильно, более 100 000 активных установок.

Недавно я получал отчеты ANR keyDispatchingTimedOut (около 30 из них) из разных мест в моем приложении, и все они связаны с com.carrieriq..iqagent.client.

Например, DALVIK THREADS:

"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)

- строка 299 SomeRunnable.java просто 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)

Я гуглил онлайн и увидел, что люди утверждают, что у него проблемы с батареей: http://forums.androidcentral.com/sprint-optimus-s/45729-ever-wondered-what-iqagent.html

Так чтовопрос в том, что я не уверен, что мне следует делать с этим (проверить, что пакет существует и, возможно, предупредить пользователя?) или это действительно причина?

Этот пакет отображается во всех трассировках ANR, которые яполучить.(Так что эта проблема возникла только у пользователей спринта)

1 Ответ

0 голосов
/ 17 сентября 2011

Это похоже на законное состояние гонки в IQclient. Интересно то, что поток HeapWorker закрывается, когда ваш поток пытается обработать нажатие кнопки. Если вы можете выяснить, почему этот поток закрывается, вы можете найти решение. К сожалению, это может быть трудно без воспроизведения.

...