你能安全地在Android的UI线程上调用"getDrawable"或"decodeResource"吗?

Vij*_*rma 5 android

打电话是不好的做法

getResources().getDrawable() 要么 BitmapFactory.decodeResource()

来自Android上的UI线程?我只是想知道,因为我有这种情况,我想在我执行后台操作时在我的视图中显示一个loding图像,但我仍然调用上述方法之一...几乎每个我看的项目似乎都执行在没有第二个想法的任何线程上的任何一种方法,但我只是在寻找最佳实践.

Dau*_*fin 0

如果您在 UI 线程上进行任何 GUI 更新,这将是一个很好的做法。在任何线程中,您都可以运行您的 UI 线程,您可以在其中执行 UI 操作,或者您也可以使用消息处理程序,它也会为您执行相同的操作。

Runnable run_in_ui = new Runnable() {
        @Override
        public void run() {
            // do your UI stuffs here
        }
    };
    runOnUiThread(run_in_ui);
Run Code Online (Sandbox Code Playgroud)