小编chi*_*tel的帖子

如何在android Volley/Picasso/Glide中更快地下载图像?

我正在开发项目,我必须从服务器下载一些图像.我试过这三种方法.

毕加索:

Picasso.with(context).load(image).into(holder.image);
Run Code Online (Sandbox Code Playgroud)

滑行:

Glide.with(context).load(image).into(holder.image);
Run Code Online (Sandbox Code Playgroud)

乱射:

imageLoader.get(image, new ImageLoader.ImageListener() {
        @Override
        public void onResponse(ImageLoader.ImageContainer response, boolean isImmediate) {
            holder.image.setImageBitmap(response.getBitmap());
        }

        @Override
        public void onErrorResponse(VolleyError error) {

        }
    });
Run Code Online (Sandbox Code Playgroud)

毫无疑问,所有这些方法在快速Internet连接中都能很好地工作.但在2G下载20kb - 25kb的图像需要太多时间.我也试过图像调整大小和一切.但是没有从中得到好结果.我看到像亚马逊或Flipkart这样的应用程序或任何电子商务应用程序这些应用程序在慢速互联网连接中运行良好,并且还能以良好的分辨率下载所有图像.所以,我想要一些关于这些问题的专家解决方案.

android image android-volley picasso android-glide

6
推荐指数
1
解决办法
3297
查看次数

在 Postman 中完美工作时,从 Android 应用程序发送发布请求时出现 401 Auth 错误

我正在将 exotel 呼叫服务集成到我的一个客户 Android 应用程序中。Api 在邮递员中工作正常并接收 xml 响应,但它在 Android 应用程序中不起作用并给出 volley 401 身份验证错误。

val stringRequest = object : StringRequest(Request.Method.POST,
                        URL,
                        Response.Listener { response ->
                            Toast.makeText(context, "response " + response.toString(), Toast.LENGTH_SHORT).show()
                            Log.d("Callresponse", response.toString())
                        }, Response.ErrorListener { error ->
                    Log.d("Callresponseerror", error.message.toString())
                    Toast.makeText(context, "error " + error.message, Toast.LENGTH_SHORT).show()
                }) {
                    override fun getParams(): MutableMap<String, String> {
                        val params = HashMap<String, String>()
                        params["From"] = AppSetting.getSitterMobile(context, AppConstants.PREF_MOBILE, null)
                        params["To"] = contact
                        params["CallerId"] = "*****"
                        params["CallType"] = "****"
                        return params
                    }
                }
                stringRequest.retryPolicy = DefaultRetryPolicy(10,
                        10, …
Run Code Online (Sandbox Code Playgroud)

android http-post http-status-code-401 android-volley exotel-api

5
推荐指数
0
解决办法
503
查看次数