【问题标题】:Android - setRequestedOrientation - Activity and views lifecycleAndroid - setRequestedOrientation - 活动和视图生命周期
【发布时间】: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() 时它是否已经存在?屏幕旋转后是否重新创建另一个视图?

【问题讨论】:

    标签: java android view java-native-interface


    【解决方案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

    【讨论】:

    • 感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2013-01-13
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    • 2012-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多