Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java AsyncTask在从onSurfaceCreated使用时崩溃_Java_Android_Opengl Es - Fatal编程技术网

Java AsyncTask在从onSurfaceCreated使用时崩溃

Java AsyncTask在从onSurfaceCreated使用时崩溃,java,android,opengl-es,Java,Android,Opengl Es,我有一个类扩展了GLSurfaceView,并在我的android应用程序中实现了渲染器,它负责opengl渲染。当我尝试从onSurfaceCreated事件执行asynctask时,应用程序崩溃(没有引发异常)。如果从主活动运行相同的异步任务,则一切正常。此时,asynctask实现只是一个占位符: public class DownloadImageTask extends AsyncTask<String, Void, Integer> { @Override

我有一个类扩展了GLSurfaceView,并在我的android应用程序中实现了渲染器,它负责opengl渲染。当我尝试从onSurfaceCreated事件执行asynctask时,应用程序崩溃(没有引发异常)。如果从主活动运行相同的异步任务,则一切正常。此时,asynctask实现只是一个占位符:

public class DownloadImageTask extends AsyncTask<String, Void, Integer>
{
        @Override
        protected Integer doInBackground(String... myParams) {
            return 1;
         }

        @Override
        protected void onPostExecute(Integer result)
        {

        }
     }

为什么我不能从onSurfaceCreated事件启动AsyncTask?

我认为您需要在UI线程上调用它。尝试在上下文中传递并执行runOnUIThread。

在应用程序崩溃后粘贴logcat输出。我在问题中添加了调用代码。Christian,哪里可以找到logcat输出?有没有办法知道您的代码是否在UI线程上运行?swing中有一种方法,我不确定android。我在谷歌上搜索了一下,但什么也没找到。但我认为如果你总是给runOnUIThread打电话,就不会出什么问题。
new DownloadImageTask().execute("myParam");