相关疑难解决方法(0)

Honeycomb的方向改变

我有一个不会在方向更改后重新创建的活动.我在清单中的活动声明中添加了以下内容:

android:configChanges="orientation"
Run Code Online (Sandbox Code Playgroud)

在Android 2.3上,这非常有效.在更改方向时,无论如何都会调用HONEYCOMB_MR2 onCreate.

是否还需要在HONEYCOMB_MR2上执行其他操作以防止在方向更改后重新创建活动?

android screen-orientation android-configchanges android-3.0-honeycomb

18
推荐指数
1
解决办法
4444
查看次数

onSurfaceChanged两次调用

我正在使用openGL ES创建一个Android应用程序,我有以下问题:

当我最小化应用程序,然后重新打开它时,在我的GLSurfaceView.Renderer中的onSurfaceChanged被调用2次.

我在onSurfaceChanged中有以下代码(和onSurfaceCreated,onDrawFrame中的类似代码):

Log.e("onSurfaceChanged",Integer.toString(width)+" "+Integer.toString(height));
Run Code Online (Sandbox Code Playgroud)

所以我得到以下日志:

onSurfaceCreated
onSurfaceChanged 480 800
onDrawFrame
onSurfaceChanged 480 800
onDrawFrame
onDrawFrame
onDrawFrame
onDrawFrame
onDrawFrame
onDrawFrame
(...)

当我最小化时,将屏幕方向从纵向更改为横向,然后重新打开,onSurfaceChanged被调用3次.日志是:

onSurfaceCreated
onSurfaceChanged 480 800
onDrawFrame
onSurfaceChanged 480 800
onDrawFrame
onDrawFrame
onDrawFrame
onSurfaceChanged 800 480
onDrawFrame
onDrawFrame
onDrawFrame
onDrawFrame
onDrawFrame
onDrawFrame
(...)

我的问题:这是一个错误吗?在我的应用程序中还是Android错误?有一种方法可以在onSurfaceChanged上调用一次吗?(因为在onSurfaceCreated中我正在执行减慢应用程序的代码)

提前致谢

android screen-orientation opengl-es-2.0

5
推荐指数
1
解决办法
1579
查看次数