a) 스레드에서 updateData() 함수 (인터넷에서 콘텐츠 공급자 및 HTTP 요청 쿼리)를 수행하고 b) 동일한 updateData() 함수를 모두 수행하는 홈 스크린 위젯이 있습니다. 30 분 (스레드가 아님).앱과 위젯의 교착 상태로 인해 ANR이 발생합니까?
는) 다음과 같습니다 : 사람들이 스레드 때문에 updateData (문맥)에 같은 장소에 정지 ANR 수를보고하는
이제public class MoodAppWidgetProvider extends AppWidgetProvider {
public void onUpdate(Context context, ...)
{
updateData(context);
} }
, 하나 개의 스레드 :
public class MoodMain extends Activity{
public void onCreate(...)
{
Thread t = new Thread()
{
public void run()
{
updateData(this);
}
};
t.start();
}
b)는 다음과 같습니다 a)와 b)에 대해. |
"주"프리 오 = 5 TID = 1 NATIVE :
1 예 : 스택 트레이스는 다음과 같이 그룹 = "main"sCount = 1 dsCount = 0 s = N obj = 0x40025ad8 self = 0xcd80 | sysTid = 23053 nice = 0 sched = 0/0 cgrp = 기본 핸들 = -1345017808 | schedstat = (29,267,974,835 13,299 5,672,943,129) android.content.ContentProviderProxy.query에서 android.content.ContentProviderProxy.bulkQueryInternal (ContentProviderNative.java:370) 에서 android.os.BinderProxy.transact (네이티브() 메소드에서 ContentProviderNative.java : 408) ...
"Thread-10"prio = 5 tid = 9 네이티브 | group = "main"sCount = 1 dsCount = 0 s = N obj = 0x4629ba88 self = 0x2d1750 | sysTid = 23062 nice = 0 sched = 0/0 cgrp = 기본 핸들 = 2955408 | schedstat = (53,100,602 8,822,875,969 600) android.content.ContentProviderProxy.query에서 android.content.ContentProviderProxy.bulkQueryInternal (ContentProviderNative.java:370) 에서 android.os.BinderProxy.transact (원시 메소드)에 (ContentProviderNative.java : 408) android.content.ContentResolver.query (ContentResolver.java:245)에서 ...
예 2 :
"메인"프리 오 = 5 TID = 1 NATIVE | group = "main"sCount = 1 dsCount = 0 s = N obj = 0x40020a30 self = 0xcd88 | sysTid = 19319 멋진 = 0 예정 : = 0/0 CGRP = 기본 핸들 = -1345026000 java.net.InetAddress.lookupHostByName (InetAddress.java:508)에서 java.net.InetAddress.getaddrinfo (기본 방법)에서 에서 java.net.InetAddress.getAllByNameImpl java.net.InetSocketAddress에서 java.net.InetAddress.getByName (InetAddress.java:310)에서 (InetAddress.java:280). (InetSocketAddress.java:110) ...
"Thread-10"prio = 5 tid = 9 고유 | group = "main"sCount = 1 dsCount = 0 s = N obj = 0x458842e8 self = 0x245cc0 | sysTid = 20153 멋진 = 0 예정 : = 0/0 CGRP = 기본 핸들 = 2388904 java.net.InetAddress.lookupHostByName에서 java.net.InetAddress.getaddrinfo (기본 방법) (InetAddress.java:508)에서 ...
"Thread-8"prio = 5 tid = 7 네이티브 | group = "main"sCount = 1 dsCount = 0 s = N obj = 0x45867030 self = 0x22c528 | sysTid = 20151 nice = 0 sched = 0/0 cgrp = 기본 핸들 = 2277944 at java.net.InetAddress.getaddrinfo (네이티브 메소드) java.net.InetAddress.lookupHostByName (InetAddress.java:508) ... com.admob.android.ads.id (AdMobURLConnector.java:153) at com.admob.android.ads.ba (AdRequester.java:206) at com.admob.android.ads.AdView $의 b.run (AdView.java:655)
는 작업 교착 상태의 일종처럼 보인다. 이 아이디어를 해결하는 방법을 알려주세요.