我在我的活动中使用异步任务从server.The中获取数据,从服务器返回的数据是JSON format.The json数据中还包含一个图像URL值在它和图像被存储在server.Now中后,在doInBackground()方法中获取数据后,我存储了一个json对象并使用glide I从服务器获取图像来发送到onPostExecute() method.In onPostExecute方法,就像这样。
var jsonobj: JSONObject = link_array.getJSONObject(i)
val sb = StringBuilder()
val link = Globals.link
sb.append(link + "/").append(jsonobj.getString("url"))
var c = sb.toString()
var bitmap: Bitmap = Glide.with(activity!!).asBitmap().load(c).submit().get()
var image = bitmap
我正在获取图像,然后我存储在位图变量type.But中,它给了我一个错误,我应该在后台使用glide thread.Glide用于图像获取目的,它在后台运行,但为什么它在这里给我一个错误。我使用的glide版本是
implementation 'com.github.bumptech.glide:glide:4.8.0'
所以我的问题是,如何在onPostExecute方法中使用Glide获取图像并将其存储在位图变量中当我在doInBackground()方法中使用它时,type.The代码工作得很好,但我不希望这样,因为它会使加载数据变慢。
发布于 2019-02-12 08:10:09
onPostExecute
是在主线程上运行的,所以你必须在后台获取位图。
你可以把url传递给Glide,它会处理它的:
Glide.with(context).load(„your_url_here”).into(your_imageview)
发布于 2019-02-12 08:10:16
我认为您不需要让Glide
的AsyncTask
在后台执行您的操作。Glide
本身会处理它,不会干扰你的主线程。
https://stackoverflow.com/questions/54645323
复制