我试图理解为什么主启动器活动启动两次,只要我第一次安装应用程序。
我刚刚创建了空活动并添加了活动生命周期日志。
任何想法,这可能是什么原因?
这是我的活动代码:
package com.ninja.myapplications;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
String TAG = "Debug";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i(TAG, "onCreate");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.i(TAG,"onDestroy");
}
@Override
protected void onStop() {
super.onStop();
Log.i(TAG,"onStop");
}
@Override
protected void onResume() {
super.onResume();
Log.i(TAG,"onResume");
}
@Override
protected void onPause() {
super.onPause();
Log.i(TAG,"onPause");
}
}
Manifest.xml代码如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.MyApplications"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
这里是build.gradle文件
plugins {
id 'com.android.application'
}
android {
namespace 'com.ninja.myapplications'
compileSdk 33
defaultConfig {
applicationId "com.ninja.myapplications"
minSdk 24
targetSdk 33
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
输出如下
注意:我尝试了singleTop和singleInstance作为该launcherActivity中的launchMode。但那没用
1条答案
按热度按时间sdnqo3pr1#
我尝试使用你的代码创建一个新项目,但我的启动正常(只调用了onCreate一次)。如果您查看所有日志,而不是像屏幕截图中那样只过滤调试日志,您可能会发现一些关于它为什么重新启动的线索。特别是,检查第一个“onResume”和其后的“onPause”之间的日志。