Android Activity横竖屏转换的生命周期
新创建一个Activity,用来此次测试。
先贴代码
package com.hugo.apj.activitylifetest; import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log; public class MainActivity extends AppCompatActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i("TAG","OnCreate");
} @Override
protected void onStart() {
Log.i("TAG","OnStart");
super.onStart();
} @Override
protected void onPause() {
Log.i("TAG","OnPause");
super.onPause();
} @Override
protected void onStop() {
Log.i("TAG","OnStop");
super.onStop();
} @Override
protected void onRestart() {
Log.i("TAG","OnRestart");
super.onRestart();
} @Override
protected void onResume() {
Log.i("TAG","OnResume");
super.onResume();
} @Override
protected void onDestroy() {
Log.i("TAG","OnDestroy");
super.onDestroy();
}
}
以下为测试结果:
第一次运行出现:
08-05 15:56:48.282 20772-20772/com.hugo.apj.activitylifetest I/TAG: OnCreate
08-05 15:56:48.283 20772-20772/com.hugo.apj.activitylifetest I/TAG: OnStart
08-05 15:56:48.283 20772-20772/com.hugo.apj.activitylifetest I/TAG: OnResume
先清除Logcat,从竖屏转换到横屏:
08-05 16:01:01.363 20772-20772/com.hugo.apj.activitylifetest I/TAG: OnPause
08-05 16:01:01.364 20772-20772/com.hugo.apj.activitylifetest I/TAG: OnStop
08-05 16:01:01.364 20772-20772/com.hugo.apj.activitylifetest I/TAG: OnDestroy
08-05 16:01:01.429 20772-20772/com.hugo.apj.activitylifetest I/TAG: OnCreate
08-05 16:01:01.429 20772-20772/com.hugo.apj.activitylifetest I/TAG: OnStart
08-05 16:01:01.430 20772-20772/com.hugo.apj.activitylifetest I/TAG: OnResume
同样清除Logcat,再从横屏转换到竖屏:
08-05 16:01:37.330 20772-20772/com.hugo.apj.activitylifetest I/TAG: OnPause
08-05 16:01:37.333 20772-20772/com.hugo.apj.activitylifetest I/TAG: OnStop
08-05 16:01:37.333 20772-20772/com.hugo.apj.activitylifetest I/TAG: OnDestroy
08-05 16:01:37.399 20772-20772/com.hugo.apj.activitylifetest I/TAG: OnCreate
08-05 16:01:37.399 20772-20772/com.hugo.apj.activitylifetest I/TAG: OnStart
08-05 16:01:37.400 20772-20772/com.hugo.apj.activitylifetest I/TAG: OnResume
从以上结果可以发现,在不讨论添加其他限制代码的情况下,横竖屏转换都会重新走完除了OnRestart外的其他六个生命周期。
Android Activity横竖屏转换的生命周期的更多相关文章
- [android] activity横竖屏切换的生命周期
模拟器横竖屏切换,ctrl+f11 界面activity会销毁,重新打开创建 第一种做法: 定死就是横屏 在清单文件,<activity/>节点部分,添加属性,设置屏幕朝向 android ...
- 无废话Android之activity的生命周期、activity的启动模式、activity横竖屏切换的生命周期、开启新的activity获取他的返回值、利用广播实现ip拨号、短信接收广播、短信监听器(6)
1.activity的生命周期 这七个方法定义了Activity的完整生命周期.实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环: (1)Activity的完整生命周期 自第一次调用onCrea ...
- Android屏幕横竖屏切换和生命周期管理的详细总结
一般的我们去切换屏幕方向都是不希望Activity被重新创建,这时就需要对一些属性进行设置,或者使用代码设置. 今天想学一下Android屏幕横竖屏切换,但是网上很多知识不准确或不正确, ...
- 你还在问android横竖屏切换的生命周期?
本文原创,转载请注明来自xiaoQLuhttp://www.cnblogs.com/xiaoQLu/p/3324503.html 开源帮助android获得了飞速的发展,开源也导致了数不清的碎片问题. ...
- Android横竖屏切换的生命周期
1.新建一个Activity,并把各个生命周期打印出来 2.运行Activity,得到如下信息 onCreate--> onStart--> onResume--> 3.按crtl+ ...
- Activity 横竖屏切换
前言 在开发中常要处理横竖屏切换,怎么处理先看生命周期 申明 Activity 横竖屏切换时需要回调两个函数 ,所以在此将这个两个函数暂时看成是Activity 横竖屏切换的生命周期的一部分,这两个函 ...
- Android 中Activity生命周期分析:Android中横竖屏切换时的生命周期过程
最近在面试Android,今天出了一个这样的题目,即如题: 我当时以为生命周期是这样的: onCreate --> onStart -- ---> onResume ---> onP ...
- Android四大基本组件介绍与生命周期
Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器 ...
- Android 切换横竖屏
一个项目一般会自己先定义项目是横屏还是竖屏但是也有可以横屏和竖屏之间切换的activty. 切换横竖屏的方法: //判断当前屏幕方向if(getRequestedOrientation() == Ac ...
随机推荐
- 从UI Automation看Windows平台自动化测试原理
前言 楼主在2013年初研究Android自动化测试的时候,就分享了几篇文章 Android ViewTree and DecorView Android自动化追本溯源系列(1): 获取页面元素 An ...
- Java获取本机MAC地址
为什么写这个呢?因为前几天看见网上有采用windows命令获取局域网和广域网MAC,查了查可以直接用JDK的方法. MAC可用于局域网验证,提高安全性. import java.net.InetAdd ...
- Seven Steps to Success Machine Learning in Practice
Seven Steps to Success Machine Learning in Practice Project failures in IT are all too common. The r ...
- Hibernate 注解 字段不映射的注解
在字段前面加这个注解:@Transient
- Android 判断是否联网 是否打开上网
ConnectivityManager cwjManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); ...
- C语言的static和extern关键字
我的博客:www.while0.com 如果A.c要包含B.c里的一个变量或函数,则在A.c中要用extern关键字声明.注意: ①如果是包含的B.c里的函数,则在A.c里声明的时候可以不写exter ...
- Spring dataSource
1.何为dataSource DataSource 接口是 JDBC 2.0 API 中的新增内容,它提供了连接到数据源的另一种方法. 作为 DriverManager 工具的替代项,DataSour ...
- 14.5.5.1 An InnoDB Deadlock Example 一个InnoDB 死锁实例
14.5.5.1 An InnoDB Deadlock Example 一个InnoDB 死锁实例 下面的例子演示了一个错误可以发生当一个lock 请求会导致一个死锁,例子设计2个客户端,A和B: J ...
- 中文乱码 $dbh->do("SET NAMES utf8");
use DBI; my $dbUser='DEVOPS'; my $user="root"; my $passwd="kjk123123"; my @arr2= ...
- EntityFramework 异常 -- An entity object cannot be referenced by multiple instances of IEntityChangeTracker
问题 在调用 DbSet 的 Attach() 方法时(与将 Entity 设置为 EntityState.Unchanged 状态等价)报告以下错误: An entity ob ...