【发布时间】:2016-06-16 12:54:55
【问题描述】:
我遇到了一个我无法弄清楚的问题。 当我在我的第一个活动屏幕上按返回主窗口时,会出现此 ANR。 按下后,然后尝试返回应用程序,出现白屏,然后出现黑屏。 一两分钟后,会出现 ANR 消息弹出窗口。
那是我的 gradle play-services 相关的
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);
}
}
【问题讨论】:
-
backPress 代码是默认的,我不会覆盖它
-
对于 tagmanagerservice?
-
考虑到我们看不到相关活动的代码,我假设您有一个阻塞呼叫正在等待一些
pendingResult或类似的呼叫(基于跟踪代码管理器的使用)跨度> -
我可以发布活动代码,主要问题是我没有明确使用跟踪代码管理器,我认为它带有 Analytics
-
人们所能做的就是根据目前显示的内容进行推测。
标签: android google-play-services