0
Activity
(AppCompatActivity
이 아님)을 확장하는 스 켈러튼 앱이 화면 회전시 onPrepareOptionsMenu
을 두 번 호출하는 것처럼 보입니다.화면 회전시 onPrepareOptionsMenu가 두 번 호출됩니다
이 버그의 일반 동작입니다 :
는 (. Fragment is called twice on screen rotation 그러나, 나는 여기에Fragment
를 사용하지 않을거야. 내가 질문을 읽기)? 이것을 피할 수있는 해결책이 있습니까?
MainActivity :
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
public class MainActivity extends Activity {
private int count = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
Log.d("onCreate", "called");
super.onCreate(savedInstanceState);
setContentView(new View(this));
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
Log.d("onPrepareOptionsMenu", "called " + ++count);
return true;
}
}
build.gradle (모듈 : 앱)
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.rotationtest"
minSdkVersion 21
targetSdkVersion 25
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
}
로그 캣 (회전 이후) :
03-28 23:58:40.134 3358-3358/com.rotationtest D/onCreate: called
03-28 23:58:40.141 3358-3358/com.rotationtest D/onPrepareOptionsMenu: called 1
03-28 23:58:40.141 3358-3358/com.rotationtest D/onPrepareOptionsMenu: called 2
의견을 보내 주셔서 감사합니다. 이 문제를 긴급히 해결해야한다면'AppCompatActivity'를 사용할 것입니다. 이제 이것이 버그인지 아닌지 궁금합니다. 그래서 AOSP (https://code.google.com/p/android/issues/detail?id=270034)에도보고했습니다. – hata