4

我的 toast 直到文件完成下载后才会出现(我评论了下载功能)。任何想法为什么?

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    ImageView main_image_view = (ImageView)this.findViewById(R.id.main_image_view);
    TextView text_view = (TextView)this.findViewById(R.id.main_text_view);

    Context context = getApplicationContext();
    CharSequence text = "File Not Found. Downloading... Please be patient, it's a large file!";
    int duration = Toast.LENGTH_SHORT;

    Toast toast = Toast.makeText(context, text, duration);
    toast.show();

    // This function fetches a file from a URL.
    brain = get_frame_fl(file_name, mActive_slice);
    brain_slice = Bitmap.createBitmap(brain_pixels, frame_width, frame_height, Bitmap.Config.ARGB_8888);

    // display
    main_image_view.setImageBitmap(brain_slice);
}
4

1 回答 1

21

我认为当您toast.show()请求UI线程显示敬酒消息时。它不一定立即执行。然后,您通过文件下载在 UI 线程中执行长时间运行的操作。这将阻止 UI 直到它完成。我会将您的文件下载移动到一个AsyncTask,这样它就不会挂起 UI。

于 2011-02-01T20:00:02.093 回答