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 用户权限 )

android 21 是啥版本

Android逆向-Android基础逆向(2-2)

【Android笔记】android Toast

图解Android - Android核心机制

Android游戏开发大全的目录