我发现FragmentStatePagerAdapter(或其他东西,可能是ViewPager,我不知道)会以静默方式捕获异常并导致ANR。
例如:
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
public static class MyPagerAdapter extends FragmentStatePagerAdapter {
private List<String> data;
public TabPagerAdapter(FragmentManager fm, List<String> data) {
super(fm);
int a = 1 / 0; // ANR instead of crash
this.data = data;
}
@Override
public Fragment getItem(int pos) {
int a = 1 / 0; // ANR instead of crash
return MyFragment.newInstance(data.get(pos));
}
@Override
public int getCount() {
int a = 1 / 0; // ANR instead of crash
return data.size();
}
@Override
public CharSequence getPageTitle(int position) {
int a = 1 / 0; // ANR instead of crash
return data.get(position);
}
}
我在logcat中找到的只有:
D/AndroidRuntime(14277): Shutting down VM
W/dalvikvm(14277): threadid=1: thread exiting with uncaught exception (group=0x41a2d9a8)
我应该怎么做才能启用logcat(用于调试)? 我目前的解决方法是为FragmentStatePagerAdapter中的每个方法添加try-catch。