onConfigurationChanged与OnCreate,究竟谁被调用的问题

在以前的版本中只要在AndroidManifest.xml文件中对activity指定android:configChanges="keyboardHidden|orientation"属性,转屏的时候就会不再重新调用OnCreate()函数,而是调用onConfigurationChanged()。

但是在自从android3.2以后,再这样设置的话,会发现转屏后仍然会调用OnCreate(),而不是onConfigurationChanged();原因是google在android3.2中添加了screensize改变的通知,在转屏的时候,不仅是orientation发生了改变,screensize同样也发生了改变。

因此可以使用如下方法实现调用onConfigurationChanged()方法,不调用OnCreate()函数:

1.指定android:configChanges="keyboardHidden|orientation|screenSize",其他的代码和以前的代码一样处理;

2.在AndroidManifest.xml中指定targetSdkVersion为3.2以前的版本(3.2的版本号为13),系统会自动加上screenSize属性值。

比如:<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="12" />

建议使用第一种方法。

时间: 2024-08-06 21:43:08

onConfigurationChanged与OnCreate,究竟谁被调用的问题的相关文章

为什么要在onNewIntent的时候要显示的去调用setIntent

一.原因: 当调用到onNewIntent(intent)的时候,需要在onNewIntent() 中使用setIntent(intent)赋值给Activity的Intent.否则,后续的getIntent()都是得到老的Intent. 二.onNewIntent() 在IntentActivity中重写下列方法:onCreate onStart onRestart onResume onPause onStop onDestroy onNewIntent 1.其他应用发Intent,执行下列

Unity调用Android的Activity

之前http://shuxiayeshou.blog.51cto.com/4452347/1932216 写了关于Unity与Android结合所遇到的问题及解决方法 总结一下,Unity做一个简单的场景,AndroidStudio建一个简单的项目,其中MainActivity是要继承自 UnityPlayerActivity的,这样Unity程序可以调用Android端MainActivity的方法了 那如果Android项目中还有一个NewActivity,我们要通过Unity把他打开咋办呢

第四章 Activity和Activity调用栈分析 系统信息与安全机制 性能优化

1.Activity生命周期理解生命周期就是两张图:第一张图是回字型的生命周期图第二张图是金字塔型的生命周期图 注意点(1)从stopped状态重新回到前台状态的时候会先调用onRestart方法,然后再调用后续的onStart等方法:(2)启动另一个Activity然后finish,先调用旧Activity的onPause方法,然后调用新的Activity的onCreate->onStart->onResume方法,然后调用旧Activity的onStop->onDestory方法.如

JNI Java调用C代码 示例

Activity public class MainActivity extends ListActivity {     static {         System.loadLibrary("hello");// 在java代码中引入libs目录下的库函数,文件名为[libhello.so].注意,引入时的文件名要去掉前面的lib和后面的.so                 System.loadLibrary("hellocpp");     }     

Android onNewIntent调用时机

创建IntentA和IntentB两个Activity,并重写下列方法:onCreate onStart onRestart  onResume  onPause onStop onDestroy onNewIntent一.IntentA应用发Intent,跳转到IntentB,执行下列方法:I/@@@philn(12410): onCreateI/@@@philn(12410): onStartI/@@@philn(12410): onResumeI/@@@philn(12410):onPau

绑定本地服务调用方法的步骤

服务的生命周期: 一.采用start的方式开启服务 生命周期如下: onStart()过时了开启服务: onCreate()--> onStartCommand() ---> onDestory(); 如果服务已经开启,不会重复的执行onCreate(), 而是会调用onStart()和 onStartCommand(); 服务停止的时候 onDestory(). 服务只会被停止一次 Service若通过new来创建,则只能为一普通类,不是服务,服务创建必须通过框架实现,即调用服务的方法,必须

【黑马Android】(10)绑定的方式调用服务的方法/图片的各种操作/人脸识别

绑定的方式调用服务的方法 服务的生命周期: 一.采用start的方式开启服务 生命周期如下: onStart()过时了 开启服务:onCreate()--> onStartCommand() ---> onDestory(); 如果服务已经开启,不会重复的执行onCreate(), 而是会调用onStart()和 onStartCommand(); 服务停止的时候onDestory(). 服务只会被停止一次 二.服务还有一种开启方式,绑定的方式开启服务. onCreate()--->on

onNewIntent调用时机

在IntentActivity中重写下列方法:onCreate onStart onRestart  onResume  onPause onStop onDestroy  onNewIntent 一.其他应用发Intent,执行下列方法:I/@@@philn(12410): onCreateI/@@@philn(12410): onStartI/@@@philn(12410): onResume 发Intent的方法: Uri uri = Uri.parse("philn://blog.163

Android onCreate onStart onResume onPause onStop onDestroy

Android中一个Activity一般都需要实现六个函数: onCreate(), onStart(), onResume(),onPause(),onStop(),onDestroy(). onCreate函数:注册你要用到的变量,比如说service,receiver,这些变量是无论你的Activity是在前台还是在后台都能够被响应到的,然后调用上面那个用来初始化的函数初始化布局信息. onStart函数:注册一些变量.这些变量必须在Android Activity类在前台的时候才能够被响