Java 跳过37帧!太多的活动/意图?
当我试着运行我的应用程序时,我不断地遇到这个错误,我想这可能是因为我有太多的活动/意图,因为我在包含它们之后遇到了错误。但我不确定这是否是问题所在。“我的选项”菜单的“活动”也会打开一次,但当我再次尝试打开它们时,它们不会再打开,我认为这可能是问题所在 以下是我的意图代码: 主要活动Java 跳过37帧!太多的活动/意图?,java,android,android-intent,android-activity,Java,Android,Android Intent,Android Activity,当我试着运行我的应用程序时,我不断地遇到这个错误,我想这可能是因为我有太多的活动/意图,因为我在包含它们之后遇到了错误。但我不确定这是否是问题所在。“我的选项”菜单的“活动”也会打开一次,但当我再次尝试打开它们时,它们不会再打开,我认为这可能是问题所在 以下是我的意图代码: 主要活动 @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_home) {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
} else if (id == R.id.action_eda) {
Intent intent2 = new Intent(this, EdaInfoActivity.class);
startActivity(intent2);
} else if (id == R.id.action_about) {
Intent intent3 = new Intent(this, AboutMe.class);
startActivity(intent3);
}
return true;
}
还有我的Android清单
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable"/>
</activity>
<activity
android:name=".NewsItemActivity"
android:parentActivityName=".MainActivity">
</activity>
<activity android:name=".EdaInfoActivity">
<intent-filter>
<action android:name="android.intent.action.INFO"/>
</intent-filter>
</activity>
<activity android:name=".AboutMe">
<intent-filter>
<action android:name="android.intent.action.ABOUT"/>
</intent-filter>
</activity>
</application>
我想这可能是因为我有太多的活动/意图,因为我在包含它们后得到了错误
这不是问题所在。您不会同时运行这些活动中的多个,因此这不是导致错误的原因。(可能是添加具有以下错误的某些活动的巧合。()
问题是您正在前台线程上执行“长时间运行(阻塞)”处理 Android有一个线程可以拥有的“循环器”。默认情况下,UI线程有一个,这是通过处理程序处理消息和可运行的。当这个循环器阻塞超过5秒时,会出现ANR(应用程序无响应)错误 当您的应用程序在UI线程中花费的时间太长,但没有那么长时,您可能会得到上面的错误 您应该查看正在运行的计算复杂的操作,并至少在AsyncTask中运行它们,或者将它们作为可运行的运行
Android中的并发性是一个非常复杂的话题,我甚至不想真正触及如何为您“解决它”。 Doug Schmidt(完整披露,我的博士顾问,我帮助创建了一些他在课堂上展示的示例等)制作了一些好的视频,他在282课程(系统编程(在android平台上),在那里你可以学习并发和服务) 以下是这些课堂讲座的播放列表:
我想说这不是重复,因为他对错误产生的原因的推理是错误的。错误没有出现是因为他有多个活动。(这是需要指出的事情)我在这方面没有找到我的问题的答案。也许这可以帮到你: