Xamarin的.Android HttpClient镜像下载
本文关键字:镜像 下载 HttpClient Android Xamarin | 更新日期: 2023-09-27 18:12:34
我使用以下代码从具有特定url的服务器下载图像:
double tmpProcessed = await Task.Run<double>(async () => {
if (vues.Count > 0) {
foreach (Vue v in vues) {
processed++;
updateProgress((processed * 100 / total));
string filename = v.gallery__file.Replace("./", "");
// Download File
try {
string path = Path.Combine(vueDirectory.AbsolutePath, filename);
//Save the Image using writeAsync
FileStream fs = new FileStream(path, FileMode.OpenOrCreate);
using (HttpClient client = new HttpClient())
{
byte[] buffer = await client.GetByteArrayAsync("http://XXXX/site_media/" + filename);
await fs.WriteAsync(buffer, 0, buffer.Length);
}
//Close file connection
fs.Close();
}
catch (Exception ex) {
Log.Error("XXXX", ex.ToString());
}
finally {
App.db.SaveVues(v);
}
}
}
return processed;
});
我在许多android设备上测试了我的应用程序,它运行得非常好。但现在我在一台旧平板电脑(运行安卓4.0.3的松下)上进行了测试。所以它下载一些图像使用HttpClient,但随机过了一会儿,我得到了一个SIGSEGV 11。我100%确定它来自下载部分,因为当我绕过这部分时,一切都运行得很好。
在日志中我可以看到这样的信息:
- suspend_thread挂起时间为200ms,超出了允许的范围200ms
- 无法与
libunwind.so
展开:无法加载库 - 无法加载库:load_library[1091]: library '/data/data/RescueCode.Droid.RescueCode.Droid/lib/libcorkscrew. lib/libcorkscrew. lib/libcorkscrew. libso' not found
- 时间设备名称类型PID标记消息10-11 22:06:23.039松下FZ-A1B错误7898 libc致命信号11 (SIGSEGV)在0xdeadbad (code=1)
有人遇到这种错误吗?试图在网上查找信息,但似乎是一个罕见的错误。
当我在没有任何usb连接器的情况下运行应用程序时,它工作得很好。