AnimationDrawable.setBackgroundResource需要花费很多时间

时间:2014-07-12 11:50:13

标签: android

我的应用程序中有一个问题,setBackgroundResource占用了大量的处理时间。有没有办法在另一个线程中运行此方法,我尝试使用AsyncTask,但它无法访问UI线程。在处理此方法时,有没有办法执行其他任务? Thx提前。

1 个答案:

答案 0 :(得分:0)

您可以在AsyncTask中加载drawable,然后从完成修改UI:

new AsyncTask<Void, Void, Drawable>() {
    protected Drawable doInBackground(Void... ignored) { 
        return context.getResources().getDrawable(R.drawable.giant); 
    }
    protected void onPostExecute(Drawable d) { 
        myView.setBackgroundDrawable(d);
    }
}