Android - setRequestedOrientation - 活动和视图生命周期
Posted
技术标签:
【中文标题】Android - setRequestedOrientation - 活动和视图生命周期【英文标题】:Android - setRequestedOrientation - Activity and views lifecycle 【发布时间】:2015-10-16 14:38:35 【问题描述】:我在使用 JNI 的本机代码时遇到了一些问题,我怀疑这可能是由于调用了 setRequestedOrientation()
。
当我致电setRequestedOrientation()
时,活动会发生什么?是刚刚重启还是完全销毁?
另外,视图会发生什么?如果在 onCreate 我有:
protected void onCreate( Bundle savedInstanceState )
super.onCreate( savedInstanceState );
try
this.setRequestedOrientation( ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE );
setContentView( R.layout.activity_XXX );
mTermScreenView = (TermScreenView) findViewById( R.id.termScreenView );
View 对象会发生什么?是重新创建的吗?当我调用findViewById()
时它是否已经存在?屏幕旋转后是否重新创建另一个视图?
【问题讨论】:
【参考方案1】:当您 setRequestedOrientation() 时,视图可能会重新启动。 http://developer.android.com/reference/android/app/Activity.html#setRequestedOrientation(int)
更改此活动的所需方向。如果 Activity 当前处于前台或以其他方式影响屏幕方向,则屏幕将立即更改(可能导致 Activity 重新启动)。否则,下次活动可见时将使用它。
当您旋转屏幕或更改方向时,默认情况下,android 将销毁并重新创建视图。 http://developer.android.com/guide/topics/resources/runtime-changes.html
【讨论】:
感谢您的帮助。以上是关于Android - setRequestedOrientation - 活动和视图生命周期的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )