适用于更大图像的 Android Image Getter

2024-02-03

我已使用所有标准网络相关代码来获取有关的图像45KB to 75KB但所有这些方法都失败了,对于大约的文件来说工作正常3-5KB图像的大小。我怎样才能实现下载图像45 - 75KB为了在 Android 中的 ImageView 上显示它们以进行网络操作,我使用的东西是

final URL url = new URL(urlString);

final URLConnection conn = url.openConnection();
HttpURLConnection httpConn = (HttpURLConnection) conn;

httpConn.setAllowUserInteraction(true);

httpConn.setInstanceFollowRedirects(true);

httpConn.setRequestMethod("GET");

httpConn.connect();

我使用过的第二个选项是::

DefaultHttpClient httpClient = new DefaultHttpClient();

HttpGet getRequest = new HttpGet(urlString);

HttpResponse response = httpClient.execute(getRequest);

为什么此代码适用于较小尺寸的图像而不适用于较大尺寸的图像。 ?


您下载的图像的大小非常无关紧要。然而,它使用 BitmapFactory.decodeStream 解码的大小是处理图像所需的内存。 因此,重新采样可能有用。

    Options options = new BitmapFactory.Options();
    options.inJustDecodeBounds = true;

    BitmapFactory.decodeStream(is, null, options);

    Boolean scaleByHeight = Math.abs(options.outHeight - TARGET_HEIGHT) >= Math.abs(options.outWidth - TARGET_WIDTH);

    if(options.outHeight * options.outWidth >= 200*200){
    // Load, scaling to smallest power of 2 if dimensions >= desired dimensions
    double sampleSize = scaleByHeight
            ? options.outHeight / TARGET_HEIGHT
            : options.outWidth / TARGET_WIDTH;
    options.inSampleSize = 
          (int)Math.pow(2d, Math.floor(
          Math.log(sampleSize)/Math.log(2d)));
    }

    // Do the actual decoding
    options.inJustDecodeBounds = false;

    is.close();
    is = getHTTPConnectionInputStream(sUrl);
    Bitmap img = BitmapFactory.decodeStream(is, null, options);
    is.close();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

适用于更大图像的 Android Image Getter 的相关文章

  • 在名称中使用时间戳时,Android Studio 在构建后无法启动应用程序

    我遇到了 gradle 和 Android Studio 的问题 该问题仅在 Android Studio 中构建时出现 BuildServer 和 Commandline 工作正常 applicationVariants all vari
  • 添加动态数据时 footable 出现问题

    我需要 jQuery Mobile 方面的一些帮助富表 http css tricks com footable a jquery plugin for responsive data tables 我正在表中动态添加数据 HTML tab
  • 毕加索磁盘缓存

    我正在使用 Picasso 从 URL 加载图像 Picasso with getApplicationContext load product getImageUrl into imageView 据我所知 每次都会访问该网址 而不是缓存
  • Android Facebook sdk 3.5 分享对话框

    您好 我正在为 android sdk 3 5 实现 facebook 共享对话框 但是我按照指南没有取得任何成功 FacebookDialog shareDialog new FacebookDialog ShareDialogBuild
  • Android CursorAdapter、ListView 和后台线程

    我一直在开发的这个应用程序有包含数兆字节数据的数据库可供筛选 许多活动只是列表视图 通过数据库中的各个级别的数据下降 直到到达 文档 即从数据库中提取并显示在手机上的 HTML 我遇到的问题是 其中一些活动需要能够通过捕获击键并重新运行带有
  • FLAG_ACTIVITY_REORDER_TO_FRONT 被忽略

    我有一个包含项目列表的 FragmentActivity 当应用程序处于后台时 可以推送该项目列表 发生这种情况时 我想创建一个状态栏通知并提醒用户更新 当用户单击通知时 活动应重新排序到前面并显示在屏幕上 同时在列表底部显示新项目 所以我
  • Android 谷歌地图 V2 已停止

    我正在尝试构建地图应用程序并关注这个链接 https blog emildesign rhcloud com p 435一步步 我在这里找到了类似的主题 但对我没有帮助 我想显示地图 但是当我运行它时 它返回强制关闭和我的 Android
  • android:进程和进程名称

    我试图理解android process属性 Ref says http developer android com guide topics manifest application element html proc 如果分配给该属性的
  • 在 Android 中始终以横向模式打开相机

    在我的 Android 应用程序中 单击按钮后我希望相机以横向模式打开 即使我将手机旋转为纵向模式 相机也应始终处于横向模式或纵向模式 使用此代码在横向模式下打开相机 Intent cameraIntent new Intent Media
  • 更改 Android 中的媒体音量?

    我可以更改媒体音量吗 如何 到目前为止我用过这个 setVolumeControlStream AudioManager STREAM MUSIC 但有一个搜索栏并且想要更改媒体音量 而不是铃声音量 那么有人可以告诉我如何更改媒体音量onC
  • 我应该选择的最低 SDK 版本是多少? (截至2018年11月)

    据我所知 android studio 中默认的最小 SDK 设置是 15 我读到我应该增加它 因为没有多少人 或者可能没有 仍在使用该 android 版本 另外 我计划使用 android studio 中的一些新功能 这些功能仅适用于
  • Android Drawable 绘图性能?

    在我看来 我有一个简单的 ARGB 可绘制对象 大约需要 2 毫秒才能绘制 但我可以在 0 5 毫秒内绘制与位图相同的文件 只是一些快速代码 我真的不能认为它是一个选项 优化可绘制对象的绘制速度的最佳方法是什么 这取决于可绘制的数量以及每个
  • 截图显示黑色

    我正在拍摄快照并创建缩略图 然后共享此图像 但缩略图显示全黑 我使用了以下代码 Bitmap bitmap View v1 v getRootView v1 setDrawingCacheEnabled true bitmap Bitmap
  • 按名称获取 ArrayList

    这是正确的获取方式吗ArrayList
  • 在 android 中,第一次单击时按钮侦听器未注册

    因为我是 Android 新手 所以我遇到了按钮监听器的问题 我正在使用 OnClickListener 来处理胸像 但它第一次点击后不执行一旦我单击多个 它就会表现良好 但如何使其在第一次单击时成为可能 这是我的代码 public cla
  • BitmapFactory.decodeResource() 忽略 jpg 图像的 inPreferredConfig 选项

    我尝试将jpeg资源图像加载到ARGB 8888格式的位图 BitmapFactory Options opts new BitmapFactory Options opts inPreferredConfig Bitmap Config
  • Android复杂布局线性和相对

    I have to implement a layout like shown in the diagram and I do not know the best combination to achieve the required de
  • 如何通过 AppCompatActivity 使用 YouTube Android 播放器 API

    为了在我的应用程序中播放视频 我决定扩展 YouTube Android Player API 但问题是我的菜单消失了 因为我没有从 AppCompatActivity 扩展 问题是 如何使用 YouTube Android Player
  • 从 sqlite 和 mysql 加载数据微调器

    我试试这个tutorial http nielpoenya blogspot com 2012 08 tutorial android spinner dari database html加载Spinner from sqlite and
  • 如何从灰度字节缓冲区图像创建位图?

    我正在尝试使用新的 Android 人脸检测移动视觉 API 来处理帧图像 所以我创建了自定义检测器来获取帧并尝试调用 getBitmap 方法 但它为空 所以我访问了帧的灰度数据 有没有办法从它或类似的图像持有者类创建位图 public

随机推荐

  • Kubernetes - 从作业连接到 cassandra 到不同的 pod

    当我尝试执行以下命令时 bin sh c cqlsh cassandra my namespace svc cluster local f path to schema cql 从我的工作中 我收到以下错误 Traceback most r
  • GZIP PlayFramework 2.0 中的响应正文

    我正在开发 Playframework 2 x 应用程序 我的应用程序中的控制器将 JSON 响应返回到浏览器 端点 我想知道是否有一种简单的方法来启用响应正文的 GZIP 压缩 目前在 2 0 4 版本中 对于非资产没有简单的方法 对于
  • 使用 Angular 5 的 IE 11 兼容性错误

    我已经构建了 Angular 应用程序 然后在服务器中运行它 我收到的错误未在本地主机中显示 Unable to get property onHover of undefined or null reference File Chart
  • 按列值将数据拆分为不同的工作表

    假设我有一个工作表 A 列中有多个不同的值 有没有办法创建一个宏 将列条目为 0 的所有行放入一个单独的工作表中 所有行的条目 1 都放在另一个工作表中 依此类推 我的第一直觉是创造一些东西 1 按相关列排序 2 使用 IF 语句检查前一个
  • ListViewItem水平拉伸UWP 10

    我想水平拉伸ListView在UWP 10中 我还设置了HorizontalContentAlignment to Stretch 它有点有效 但并不完全是我想要的结果 我将 ListView 背景设置为 Aqua 因此您可以看到 List
  • 在另一个类中创建类的实例(使用通用示例)

    我正在通过书籍和互联网学习Python 但我陷入了课堂问题 2个问题 如何在另一个 单独的 类中创建一个类的实例 如何在类和嵌套 类之间传递变量 当我尝试在另一个 单独的 类中创建类的实例时 我可以在方法中执行此操作 这是代码 import
  • C#:当一个字段可以是不同类型时反序列化 JSON

    我正在与返回包含 true false 或字符串数 组数组的 JSON 的 API 进行通信 我希望反序列化此 JSON 并将布尔值 如果有 存储在数据类型 bool 的名为 Success 的类字段中 并将数组 如果有 存储在自定义数据类
  • 建议使用 postgres 工具来查找模式和数据之间的差异

    各位 任何人都可以建议我使用 Linux 的 postgres 工具来查找2个给定数据库之间的差异 我尝试使用 apgdiff 2 3 但它给出了模式而不是数据方面的差异 但我两者都需要 提前致谢 比较数据并不容易 尤其是当您的数据库很大时
  • 重写 Objective-C 中的可变参数方法

    在 Objective C 中子类化时 在可变参数方法的情况下如何将调用转发到超类 我应该用什么来替换 下面发送我得到的所有对象 void appendObjects id firstObject super appendObjects 你
  • 如何在 Android 应用程序的 Activity 之间传递数据?

    我有一个场景 通过登录页面登录后 会出现注销button在各个activity 点击时sign out 我将通过session id登录用户的注销 谁能指导我如何保持session id所有人都可以使用activities 这种情况的任何替
  • 在 Python 中调用函数列表的惯用方式是什么?

    我有一个回调函数列表 当事件触发时我需要调用这些函数 这是惯用的Python吗 def first callback m print first m def second callback m print second m lst firs
  • 在状态计算中“不断转动曲柄”的有效方法

    我有一个有状态的进程 被建模为i gt RWS r w s a 我想给它一个输入cmds i 目前我做的是批发 let play runGame theGame go where go finished go v n cmds do end
  • 位置相关代码和位置无关代码有什么区别? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 位置相关代码和位置无关代码有什么区别
  • 获取下 N 个最近的地理点

    我在我的 Android 应用程序中有一个包含地理点的数据库表 纬度和经度是十进制度值 大约 1000 点 我需要选择距离某个给定地理点最近的 20 个点 我在 Stackoverflow 找到了如何计算两个地理点之间的距离的答案 并且非常
  • 使用 Capybara 存根浏览器时间和时区

    我有一个 JavaScript 组件 例如日期选择器 它很大程度上依赖于 当前系统时间 当前系统时区 在 Ruby 和 Capybara 中 可以在诸如Timecop https github com travisjeffery timec
  • iPhone core蓝牙中央管理器发送数据到外设

    我想将数据从 iPhone 发送到被发现并连接的蓝牙设备 我指的是this http weblog invasivecode com post 39707371281 core bluetooth for ios 6 core blueto
  • 方形网格 - XML

    在我的研究中 我必须编写一个 Android 应用程序来从气象站检索天气数据 这些将显示在块中 这些块将分成 4 列和 2 行 所以我想创建一个 4 列 2 行的方形网格来提供块 有人可以提供解决方案来帮助我创建这个网格吗 有很多选择 1
  • 为什么这段代码在 Windows 和 Linux 上打印出不同的结果?

    此代码在 Windows 和 Linux 之间打印不同的字符串 test py print join str i for i in range 10000 平台 x86 64 Linux 4 4 0 17763 微软Python版本 3 7
  • 在 C# 中将字节转换为二进制字符串

    在 c 中我正在转换byte to binary 实际答案是00111111但给出的结果是111111 现在我真的需要显示前面的 2 个 0 谁能告诉我该怎么做 我在用 Convert ToString byteArray 20 2 字节值
  • 适用于更大图像的 Android Image Getter

    我已使用所有标准网络相关代码来获取有关的图像45KB to 75KB但所有这些方法都失败了 对于大约的文件来说工作正常3 5KB图像的大小 我怎样才能实现下载图像45 75KB为了在 Android 中的 ImageView 上显示它们以进