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