当我的屏幕旋转时,我失去了与app app结合的连接。这是我的onDestroy
方法:
@Override
protected void onDestroy() {
super.onDestroy();
if (isFinishing()) {
Log.d(tag, "Destroying helper.");
if (mHelper != null) {
mHelper.dispose();
mHelper = null;
}
}
Toast.makeText(this, "onDestroy " + mHelper, Toast.LENGTH_SHORT).show();
}
这表明当屏幕方向因活动未完成而改变时mHelper仍然不为空,然后在我的onCreate方法中,mHelper
为空。
如何阻止屏幕旋转呢?
答案 0 :(得分:1)
默认情况下,方向更改将导致系统销毁并重新创建您的Activity,要更改此行为,请更改AndroidManifest.xml中的Activity条目:
<activity android:name=".MyActivity"
android:configChanges="orientation"
android:label="@string/app_name">
告诉Android您希望处理配置自行更改,因此在发生方向更改时不会重新启动Activity,但会调用当前的Activity实例的onConfigurationChanged()方法。
单身人士的一个例子:
public class SingletonObjectDemo {
private static SingletonObject singletonObject;
// Note that the constructor is private
private SingletonObjectDemo() {
// Optional Code
}
public static SingletonObjectDemo getSingletonObject() {
if (singletonObject == null) {
singletonObject = new SingletonObjectDemo();
}
return singletonObject;
}
}
您可以查看有关如何处理方位更改的更多信息here