2016-06-16 2 views
4

저는 알아 내지 못하는 문제에 직면하고 있습니다. 이 ANR은 첫 활동 화면에서 backpress하여 홈 창으로 이동할 때 나타납니다. 키를 누른 다음 응용 프로그램으로 돌아가려고하면 흰색 화면이 나타나고 그 후에는 검은 색 화면이 나타납니다. 1 ~ 2 분 안에 ANR 메시지 팝업이 나타납니다. 관련 내 Gradle을 플레이 서비스 That`sTagManagerService가있는 ANR

def googlePlayServicesVersion = '9.0.2' 


compile "com.google.android.gms:play-services:$googlePlayServicesVersion" 
compile "com.google.android.gms:play-services-analytics:$googlePlayServicesVersion" 
compile "com.google.android.gms:play-services-auth:$googlePlayServicesVersion" 
compile "com.google.android.gms:play-services-vision:$googlePlayServicesVersion" 

Starting window AppWindowToken{44f94e90 token=Token{42a85dc8 ActivityRecord{430f4b70 u0 com.ioa***.****/com.******.****.activity.SignUpInTabActivity_ t84}}} timed out 

ANR in com.ioa***.**** 
     PID: 24075 
     Reason: Executing service com.ioacom.ioa***.****/com.google.android.gms.tagmanager.TagManagerService 
     Load: 4.49/4.91/5.12 
     CPU usage from 5972ms to 0ms ago: 
     1.3% 372/adbd: 0.1% user + 1.1% kernel/faults: 406 minor 
     1.1% 953/system_server: 0.6% user + 0.5% kernel/faults: 6 minor 
     0.1% 1//init: 0% user + 0.1% kernel/faults: 52 minor 
     0.3% 1053/com.android.systemui: 0.3% user + 0% kernel/faults: 2 minor 
     0.3% 18921/kworker/0:2: 0% user + 0.3% kernel 
     0.1% 3/ksoftirqd/0: 0% user + 0.1% kernel 
     0.1% 8/rcu_preempt: 0% user + 0.1% kernel 
     0.1% 144/mmcqd/0: 0% user + 0.1% kernel 
     0% 204/servicemanager: 0% user + 0% kernel 
     0% 224/mediaserver: 0% user + 0% kernel 
     0% 1097/wpa_supplicant: 0% user + 0% kernel 
     0.1% 1749/mpdecision: 0.1% user + 0% kernel 
     0% 17052/kworker/u8:7: 0% user + 0% kernel 
     0% 20159/kworker/0:3: 0% user + 0% kernel 
     0% 24075/com.ioa***.******: 0% user + 0% kernel 
     9.3% TOTAL: 2.8% user + 6.2% kernel + 0.1% iowait 
     CPU usage from 2824ms to 3341ms later: 
     3.8% 953/system_server: 0% user + 3.8% kernel/faults: 1 minor 
     3.8% 967/ActivityManager: 0% user + 3.8% kernel 
     9% TOTAL: 0% user + 0% kernel + 9% iowait 
단지 처음 사용자를 나타납니다

내 실행기 활동 입력 앱 :

public class FirstActivity extends AppCompatActivity { 

    public void onCreate() { 
     if (userDataAccess.getUserProfile() != null) { 
      startDashBoardActivity(); 
      finish(); 
     } else if (!preferences.isFirstAccess().get()) { 
      startLoginActivity(); 
     } 
    } 

} 

내 로그인의 활동 :

@EActivity(R.layout.activity_with_tabs_layout) 
public class SignUpInTabActivity extends AppCompatActivity { 

    @ViewById(R.id.toolbar) 
    Toolbar toolbar; 

    @ViewById(R.id.tabs) 
    TabLayout tabLayout; 

    @ViewById(R.id.viewpager) 
    ViewPager viewPager; 

    private LoginFragment loginFragment; 

    @AfterViews 
    public void init(){ 
     setSupportActionBar(toolbar); 
     ViewCompat.setElevation(tabLayout, 4); 
     if(getSupportActionBar() != null) { 
      toolbar.setSubtitleTextColor(ContextCompat.getColor(this, android.R.color.white)); 
      toolbar.setTitleTextColor(ContextCompat.getColor(this, android.R.color.white)); 
      toolbar.setTitle(R.string.*****); 
      toolbar.setSubtitle(R.string.flavor); 
     } 
     setupViewPager(); 
    } 

    @UiThread 
    public void setupViewPager() { 
     loginFragment = LoginFragment_.builder().build(); 
     ViewPagerTabsAdapter adapter = new ViewPagerTabsAdapter(getSupportFragmentManager()); 
     adapter.addFragment(loginFragment, getString(R.string.login).toUpperCase()); 
     adapter.addFragment(SignUpFragment_.builder().build(), getString(R.string.register_user).toUpperCase()); 
     viewPager.setAdapter(adapter); 
     tabLayout.setupWithViewPager(viewPager); 
    } 


    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     loginFragment.onActivityResult(requestCode,resultCode,data); 
    } 

} 
+0

backPress 코드가 기본입니다.이 태그는 –

+0

이고 tagmanagerservice는 무시하고 있습니까? –

+0

문제의 코드를 볼 수 없다는 점을 감안할 때 일부 pendingResult 또는 유사한 (태그 관리자를 사용하여) 대기하는 블로킹 호출이 있다고 가정합니다. –

답변

4

Play-Service 9 이상에서는 문제가있는 것으로 보입니다.

첫 번째 해결 방법은 8.4.0으로 롤백 재생 서비스였습니다. 모든 것이 다시 작동합니다.

위에서 나를 만족하지 않기 때문에 내가 솔루션을 찾고 유지하고,

나는 문제가 8.4에서 작동하는 이유, 이해 돈`t 특정와 '일반적인 플레이 서비스'것을 발견 .0 및 9+가 아닙니다.

내 솔루션 (에 관계없이 문제의 문제,이 최선의 방법입니다)

compile "com.google.android.gms:play-services-analytics:9.0.2" 
compile "com.google.android.gms:play-services-auth:9.0.2" 
compile "com.google.android.gms:play-services-vision:9.0.2" 

아래 라인을

compile "com.google.android.gms:play-services:9.0.2" 

를 제거하고 단지 특정을 유지하는 것입니다 그리고 그것은 작품!

정말 오류가 ANR 인 이유를 알고 싶습니다.