Android 发布高分辨率图像内存不足

2023-12-10

各位开发人员大家好。

我正忙着让 android 从应用程序上传图像。
我也让它工作了(代码如下)。
但是,当我发送大图像(10 兆像素)时,我的应用程序因内存不足异常而崩溃。
解决方案是使用压缩,但如果我想发送全尺寸图像怎么办?
我想也许与流有关,但我对流不熟悉。也许 urlconnection 可能有帮助,但我真的不知道。

我将文件名命名为 File[0 到 9999].jpg 带有图像日期的发布值称为 Filedata 我为 post value dropboxid 提供了一个 UID

下面的代码有效,但我很想解决阻止我发送高分辨率图像的问题。

亲切的问候

try
{
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    bitmap.compress(CompressFormat.JPEG, 100, bos);
    byte[] data = bos.toByteArray();

    HttpPost postRequest = new HttpPost(URL_SEND);

    ByteArrayBody bab = new ByteArrayBody(data, "File" + pad(random.nextInt(9999) + 1) + ".jpg");
    MultipartEntity reqEntity = new multipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
    reqEntity.addPart("Filedata", bab);
    reqEntity.addPart("dropboxId", new StringBody(URLEncoder.encode(uid)));
    postRequest.setEntity(reqEntity);

    HttpResponse response = httpClient.execute(postRequest);
    BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
    String sResponse;
    StringBuilder s = new StringBuilder();

    while((sResponse = reader.readLine()) != null)
    {
        s = s.append(sResponse);
    }

    if(d) Log.i(E, "Send response:\n" + s);
}
catch (Exception e)
{
    if(d) Log.e(E, "Error while sending: " + e.getMessage());
    return ERROR;
}

使用时ByteArrayOutputStream然后打电话#toByteArray()你已经有效地doubledJPEG 使用的内存量。ByteArrayOutputStream保留一个带有编码 JPEG 的内部数组,当您调用时#toByteArray()它分配一个newarray & 从内部缓冲区复制数据。

考虑将大位图编码到临时文件并使用FileOutputStream and FileInputStream编码并发送图像。

如果没有“上传”-您的应用程序可以“很好地”生存,我认为内存中只有巨大的位图?

Edit: FileBody

File img = new File(this is where you put the path of your image)
ContentBody cb = new FileBody(img, "File" + pad(random.nextInt(9999) + 1) + ".jpg", "image/jpg", null);
MultipartEntity reqEntity = new multipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
reqEntity.addPart("Filedata", cb);
reqEntity.addPart("dropboxId", new StringBody(URLEncoder.encode(uid)));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 发布高分辨率图像内存不足 的相关文章

  • Android 中表与游标的并集

    我正在尝试将两个具有相同字段的表合并起来 通过内容提供程序 创建一个用于创建 ListView 的游标 Override public Cursor query Uri uri String projection String select
  • 检查更新时 Maven 无限期挂起

    我正在使用 Maven 构建一个项目 我是新手 并且它挂起 mvn package INFO Scanning for projects INFO INFO Building Presentation Reports INFO task s
  • 当 Android 上的脸部靠近屏幕时,以编程方式关闭屏幕

    我的应用程序是一个拨号器 当用户将手机靠近头部时 我需要关闭屏幕并防止单击控件 就像本机 Android 拨号器行为一样 我需要什么 API 级别以及如何以正确的方式做到这一点 我通过反汇编一个非常著名的 VoIP 应用程序找到了解决方案
  • 直接在应用程序中评价 Google Play 应用程序 [重复]

    这个问题在这里已经有答案了 我需要在我的 Android 应用程序中设置费率选项 我找到了这个link http www androidsnippets com prompt engaged users to rate your app i
  • 如何根据从 jtextfield 和组合框接收的值将数据行添加到 Jtable

    我有一个JFrame表格有JTextFields JCombobox等等 我能够将这些值接收到变量 现在我想将接收到的数据添加到JTable当用户单击 添加 或类似的操作时在新行中 我创造了JTable使用 net beans 的问题是将这
  • 从 Java 应用程序读取的文件是否会调用系统调用?

    我的理解是 请求文件系统路径 例如 aFile 的用户应用程序将调用文件系统并获取所请求文件的虚拟地址 然后应用程序将尝试以该地址作为参数 即作为 CPU 指令 进行读 写操作 执行读取命令时 内存管理单元会将该地址转换为物理地址 并查看页
  • Android 4.2以下如何设置layoutDirection为RTL

    尝试将布局元素设置为 RTL 顺序 4 2 及以上行 layoutDirection rtl 并在清单中 android supportsRtl true 工作得很好 但对于 4 2 以下则不然 解决方案有人吗 只需使用视图兼容使用 and
  • Android 上的 Facebook 深度链接

    我正在尝试在我的应用程序上实现 Facebook 的深度链接功能 并遇到了以下情况 我有一个名为 MainActivity 的活动 其声明如下
  • 使用 Retrofit 获取原始 HTTP 响应

    我想从我的 API REST 获取原始 http 响应 我尝试过这个界面 POST login FormUrlEncoded Call
  • 文章中的内联图像和标题 - 使标题的宽度与图像的宽度一致

    这是我的代码 div class image img src image jpg alt Image description p class caption This is the image caption p div 这是我的 CSS
  • Android 处理 ListView 中的多个 EditText 字段

    只是一个基本问题 如果我有几十个 EditText 字段是 ListAdapter 的一部分 那么各个 EditText 字段如何知道它们属于哪一行 目前我正在使用 TextWatcher 来监听文本输入 我尝试扩展 TextWatcher
  • Java 9:AES-GCM 性能

    我进行了一个简单的测试来测量AES GCM https en wikipedia org wiki Galois Counter Mode表现在Java 9 通过在循环中加密字节缓冲区 结果有些令人困惑 本机 硬件 加速似乎有效 但并非总是
  • Java环境变量设置方法

    我已将以下行插入 bash profile export GOOGLE APPLICATION CREDENTIALS Users jun Downloads export PATH PATH GOOGLE APPLICATION CRED
  • Jetpack 中的波浪框组成

    有没有办法用Canvas制作一个顶部有波浪形的盒子 我想知道这个效果是否可以直接用Canvas来实现 不需要有滚动动画 不太清楚你为什么在谈论Canvas 要裁剪这样的视图 您可以使用自定义Shape并将其应用到您的视图中Modifier
  • “mvn”不被识别为内部或外部命令、可操作程序或批处理文件

    可能是之前问过问题 但我发现了非常奇怪的错误 当我跑步时mvn versionbin 中的命令给出了版本和其他信息 但是 当我跑到垃圾箱外面时 它会出现异常 下面提到的结果 C Program Files apache maven 3 0
  • Bipush 在 JVM 中如何工作?

    我知道 iload 接受整数 1 到 5 但是如何使用 bipush 指令扩展到更高的数字 特定整数如何与字节码一起存储 有几种不同的指令可用于推送整数常量 最小的是iconst 指令 这些只是一个字节 因为该值是在操作码本身中编码的 ic
  • Swing GUI 出现 IntelliJ 错误“contentPane 无法设置为 null。”从终端编译时

    当我从 IntelliJ 编译我的项目时 没有任何问题 我的程序运行顺利 但是当我尝试使用 javac 从终端编译它时 警告 注意 Victor presentation TableControllerMenu java 使用未经检查或不安
  • 在edittext android中插入imageview

    我想将 imageview 放在 edittext 中 可能吗 我检查了 evernote 应用程序 它能够将照片放在编辑文本部分 我想让我的应用程序完全相同 我如何才能将从图库中选择的图像视图放入编辑文本中 我首先尝试将 imagevie
  • 如何在 tomcat 上部署 Java Web 应用程序 (.war)?

    我有一个 warJava Web 应用程序的文件 现在我想将它上传到我的 ftp 服务器 以便我可以执行它 我应该执行哪些步骤来运行它 webapp的上下文路径是 mywebapp Edit 实际上 我的 ftp 服务器名称是ftp bil
  • 安装 APK 时出现会话“应用程序”错误

    我在将 Android Studio 1 1 编写的项目导入 Android Studio 2 1 2 时遇到困难 每当在平板电脑上测试应用程序之前构建 gradle 时 我都会收到此错误 下面是错误的屏幕截图 有谁知道是什么问题 我尝试过

随机推荐

  • 根据 Java 中的 Swagger 定义验证 JSON 消息

    我使用 Swagger 定义创建了一个 REST API 现在我需要使用该 swagger 架构验证传入消息 我找到了几种解决方案 但它们都依赖于某些特定的用例 最接近我需要的是this正如它的描述所示 它与提供的 json 模式配合得很好
  • 无法上传 apk:READ_EXTERNAL_STORAGE 具有不同的 maxSdkVersions

    这是我第一次在这里提问 不管怎样 正如标题所说 我正在尝试将我的应用程序推向市场 当我尝试上传签名的 apk 时 出现错误 上传失败具有不同 maxSdkVersions 的重复权限声明 android permission READ EX
  • Facebook App Invites iOS v4 SDK 错误

    我已经仔细检查了所有内容 根据我的理解 这就是我需要做的 self inviteContent FBSDKAppInviteContent alloc initWithAppLinkURL NSURL URLWithString http
  • Asterisk-如何使用 ChanSpy() 或任何替代方法“耳语”音乐? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我打算向其中一位会议参与者 耳语 音乐 消息文件 而不让其他会议参与者听到此消息 我浏览了 Asterisk Cookbook 中的音频操作章节 http ofps oreill
  • 如何在 Objective-C iphone sdk 中迭代嵌套字典

    您好 我有一个 json 字符串 已通过 JSON 框架转换为字典 我需要提取其内容 我怎样才能迭代到嵌套字典 我已经有了这段代码 可以让我查看字典 NSDictionary results responseString JSONValue
  • 如何使用 nav.popTo() (ionic 2)?

    我正在使用导航控制器 要返回 我可以使用 nav pop 但是如果我需要转到其他页面 不是最后一个页面 如何使用 nav popTo constructor nav NavController this nav nav this nav p
  • Numpy int 位长度

    我想找到以二进制表示无符号 numpy 整数 或整数数组中的每个元素 所需的位数 就像 python 的int bit length 确实如此 但 numpy 似乎没有等效的功能 例如 gt gt gt int 0b1000 bit len
  • 如何防止 Dockerfile 缓存 git clone

    我有一个 Dockerfile 试图将 Web 应用程序打包并部署到容器中 应用程序的代码在 Docker 镜像构建期间从 git 存储库获取 这是 Dockerfile 快照 RUN git clone depth 1 git repos
  • 在 openpyxl 中格式化图表数据标签

    我正在使用 Python 3 6 3 使用 openpyxl 2 4 9 编写一些 Excel 工作表 在图表数据上获取数据标签并不明显 但当我尝试格式化所述数据标签时 事情开始变得糟糕 我想要做的是改变他们的位置并改变他们的轮换 有人有什
  • PDO Mysql 语法错误 1064 [已关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 我运行以下代码 conn new PDO pdo at
  • PyQt 中的 QKeyPress 事件

    我的软件有问题 在我的钢琴软件中 如果我一直按下键盘上的某个键 那么它就会发出该特定键的多个重复的相同音调 但实际上我需要一个单一的音调 直到释放该特定的键 我提供了检测 keyPress 事件并调用相应方法的代码的一部分 那么我应该对我的
  • 用于 HTTPS 抓取的 Jsoup Cookie

    我正在尝试使用此网站在欢迎页面上收集我的用户名来学习 Jsoup 和 Android 使用以下代码 Connection Response res Jsoup connect http www mikeportnoy com forum l
  • 如何将 Spinner 默认值设置为 null?

    我正在尝试加载一个没有选定值的微调器 一旦用户选择了一个值 它就会将他们带到另一个页面 事实证明这是一个问题 因为目前页面只是在用户做出选择之前立即加载 我的 spinner 类的设置方式与 Google 的相同 http develope
  • 使用 document.body.innerHTML.replace 有多安全?

    正在运行类似的东西 document body innerHTML document body innerHTML replace 旧值 新值 危险的 我担心某些浏览器可能会搞乱整个页面 而且由于这是 JS 代码 这些代码将被放置在我无法控
  • 如何获取当前 .exe 的哈希值?

    SOLVED 我复制了该文件并在该副本上运行了哈希器 我需要我的应用程序来查找 EXE 当前的 MD5 我可以获取任何文件的MD5 但是 无论我做什么 我都无法获得 FileStream 来读取打开的 EXE 我尝试使用 FileOptio
  • 修改 google.translate.TranslateElement 结果中的元素

    我正在尝试将非常方便的 Google Translate 翻译元素嵌入到网页中 这非常简单并且效果很好 但我需要更改在生成的 HTML 中显示的默认文本 在使用过许多 Google API 和 js 库后 我认为这不会有问题 因为它几乎肯定
  • 创建 HuggingFace 数据集来训练 BIO 标记器

    我有一个字典列表 sentences text I live in Madrid labels O O O B LOC text Peter lives in Spain labels B PER O O B LOC text He lik
  • 使用处理程序从服务更新活动

    我想改变 a 的状态ToggleButton in my Activity当事件发生在service 任何人都可以帮我实现这个使用Handler 我的意思是我应该在哪里编写代码来创建处理程序以及如何从服务触发它 我读过类似的帖子 但是它们对
  • 地点选择器自动关闭

    我正在 android 中制作一个简单的地点选择器程序 问题是当我单击按钮时 地点选择器打开并在 2 3 秒后自动关闭 请帮忙 MainActivity java package com example akshay myapplicati
  • Android 发布高分辨率图像内存不足

    各位开发人员大家好 我正忙着让 android 从应用程序上传图像 我也让它工作了 代码如下 但是 当我发送大图像 10 兆像素 时 我的应用程序因内存不足异常而崩溃 解决方案是使用压缩 但如果我想发送全尺寸图像怎么办 我想也许与流有关 但