如何解决应用程序在 X 次启动新活动后终止
我有一个包含 2 个活动的简单应用程序:MainActivity(包含 2 个片段)和 GameActivity。
在其中一个片段“FragmentHome”中,我有一个 FloatingButton,按下后会启动我的 GameActivity。
当游戏结束时,我会显示一个带有按钮的 AlertDialog,点击后会执行:GameActivity.this.onBackpressed();
将用户返回到 FragmentHome,在那里他可以再次启动游戏。
有问题的场景是:用户启动游戏(从 FragmentHome FloatingButton),玩它,游戏在几秒钟内结束,用户被引导回 FragmentHome,在那里他再次启动游戏;如果要重复 7-8 次,那么在某些时候 FloatingButton 单击将终止应用程序,而不会引发 logcat 错误。我能看到的 logcat 中唯一奇怪的“提示”是 D/StrictMode: StrictMode policy conflict: android.os.strictmode.diskReadViolation 这并没有真正说明应用程序终止。
我监控了应用内存使用情况(来自Android设备本身):正常,在53MB到66MB之间。
点击时我的浮动按钮:
myView.findViewById(R.id.btnStartGame).setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (!AppController.appOnline) {
Snackbar.make(lstLuckyUsers,getString(R.string.txt_no_internet),2000).show();
return;
}
Intent gameIntent = new Intent(FragmentHome.this.context,GameActivity.class);
FragmentHome.this.context.startActivity(gameIntent);
}
});
My GameActivity AlertDialog 按钮点击:
MaterialButton btnOK = dialogView.findViewById(R.id.btnOK);
if (btnOK != null)
btnOK.setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// close dialog and game Activity
gameOverDialog.dismiss();
GameActivity.this.onBackpressed();
}
});
你能告诉我在哪里寻找问题吗?感觉垃圾收集器没有按预期工作,或者我使用了一个框架,这带来了麻烦。 依赖项是普通标准:
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
defaultConfig {
applicationId "com.mygame.mygame"
minSdkVersion 23
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),'proguard-rules.pro'
}
}
}
dependencies {
implementation filetree(dir: 'libs',include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'com.google.android.material:material:1.2.1'
implementation 'androidx.navigation:navigation-fragment:2.3.3'
implementation 'androidx.navigation:navigation-ui:2.3.3'
// volley lib
implementation 'com.android.volley:volley:1.1.1'
// FAN Ad
implementation 'com.facebook.android:audience-network-sdk:6.0.0'
// Google in-app Review
implementation 'com.google.android.play:core:1.9.1'
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。