我正在使用改装客户端下载文件,但当有大文件(200 MB)时,它会抛出<code>java.lang.OutOfMemoryError:注释,这是我的下载服务方法
@Streaming
@GET("{path}")
suspend fun downloadFile(@Path("path") path: String): Response<ResponseBody>`
这里是调用代码片段
suspend fun downloadFile(remotePath: String): FileDownloadResponse {
try {
val response = api.downloadFile(remotePath)
if (response.isSuccessful) {
FileDownloadResponse.Success(response.body()!!)
} else {
FileDownloadResponse.Fail()
}
} catch (e: Exception) {
e.printStakTrace()
FileDownloadResponse.Fail(throwable = e)
}
}
val response = remoteRepositroy.downloadFile(remotePath)
val writeResult = response.body.writeResponseBodyToDisk()
改装版本= 2.6.0
协同程序版本=1.3.0-M1
尝试使用下载管理器下载大文件
您可以通过@CommonsWare在此处找到完整的示例
https://github.com/commonsguy/cw-android/tree/master/Internet/Download
我通过将HttpLogingInterceptor
日志级别从BODY
更改为HEADERS
来修复它
HttpLoggingInterceptor().apply {
level = HttpLoggingInterceptor.Level.HEADERS
})
看似奇怪的错误修复,但它有效
我确实在这里遇到了这个问题,但根据线程“错误消失了,我不知道它是如何修复的”...在selenium中尝试使用@FindBy注释时出错 这是我写的代码。奇怪的是,我已经在page对象类上定义了另一个web元素,它工作得很好。我似乎就是不明白问题出在哪里。我只是在学硒,从来没有遇到过这个问题。我试着在网上搜索答案,但似乎找不到这个特定问题的答案。 这是page对象类中的第一个web元素,它工作得很好
下面的代码适用于小文件( 我得到: 19161088 HTTP响应(_body=无,缓冲区= 使用Python下载时,但是 0 HTTPResponse(_body=None,buffer=None,code=599,effective_url=)http://releases.ubuntu.com/16.04.1/ubuntu-16.04.1-desktop-amd64.iso?_ga=1.17
问题内容: 我在Bower注册我的bower.json文件时遇到问题。任何帮助将不胜感激。 当我尝试使用Bower注册我的项目时 我收到错误消息: 我的bower.json的内容很简单(为了解决问题,我删除了空格和换行符): (请注意,该文件中没有?) 这是我运行Bower Register时屏幕上显示的详细信息: 问题答案: 您的Bower json文件(在此处可见:https : //raw.
[ERROR]在当前项目和插件组[org.apache.maven.plugins,org.codehaus.mojo]中找不到前缀“arch type”的插件[本地(C:\用户\Varun. m2\仓库),中央(http://repo.maven.apache.org/maven2)] 如果我尝试访问http://repo.maven.apache.org/maven2从浏览器中,我得到一个错误
问题内容: 我需要使用curl下载远程文件。 这是我的示例代码: 但是它不能处理大文件,因为它首先读取内存。 是否可以将文件直接流式传输到磁盘? 问题答案:
我们有一个运行在Linux上的Weblogic服务器,有多个受管服务器。我所关心的托管服务器的最大堆大小为1024MB。该服务器上部署了多个应用程序。其中一个应用程序处理来自REST api的响应来下载250MB的文件。对于大于50 MB的文件,有时没有问题,但有时服务器会因OOM错误而崩溃。以下是我的代码: 由于存在内存问题,我尝试采用InpuStream方法。以下是更改后的代码: 此代码没有进