要从FTP上面下载一个1KB-2G(姑且2G吧)的文件,要下载且耗时,肯定想到用AsyncTask或线程+Handler来下载。(两种方法我都试了)
结果是,下载100MB内的文件,很快就下载完了,UI操作也不卡。但是,当我下载1G的文件时,UI就“死”在那里了。while((c = in.read(bytes)) != -1)
{
out.write(bytes, 0, c);
localSize += c;
try
{
Thread.sleep(100);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
System.out.println("localSize>>>> "+localSize);
}
out.flush();
结果是,下载100MB内的文件,很快就下载完了,UI操作也不卡。但是,当我下载1G的文件时,UI就“死”在那里了。while((c = in.read(bytes)) != -1)
{
out.write(bytes, 0, c);
localSize += c;
try
{
Thread.sleep(100);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
System.out.println("localSize>>>> "+localSize);
}
out.flush();
解决方案 »
- 如何找按钮数组在布局中的横竖坐标位置?
- android如何上传的图片,asp.net如何获取android上传的图片
- Android 改变图片大小
- linux2.6.36 下, LCD显示部分的驱动在什么地方? (想旋转一下 屏幕.)
- 请问如何实现 CheckBox 的 tree 型显示。
- 关于Android C代码 变量拆分组合的问题
- andriond系统4.03很抱歉“系统用户界面”已停止运行。求大神指点
- 手机跨平台开发用什么语言比较好 C++ 还是 erlang? C++ 和erlang 有什么 区别?谢谢!哪个做跨平台简单快?
- 如何在桌面定制应用widget 和 快捷方式?
- 求genymotion(安卓模拟器)
- android 后台service摄像拍照功能
- 关于android事件传递的一个问题。
byte[] bytes = new byte[2048];
while((c = in.read(bytes)) != -1)
{
out.write(bytes, 0, c);
localSize += c;
}
out.flush();修改成上面那样,还是一样的
byte[] bytes = new byte[2048];
while((c = in.read(bytes)) != -1)
{
out.write(bytes, 0, c);
localSize += c;
}
out.flush();修改成上面那样,还是一样的
额 表示无能为力了 没遇到android终端下载这么大文件的
byte[] bytes = new byte[2048];
while((c = in.read(bytes)) != -1)
{
out.write(bytes, 0, c);
localSize += c;
}
out.flush();修改成上面那样,还是一样的
额 表示无能为力了 没遇到android终端下载这么大文件的
android手机一样可以下载高清电影,只是国内环境...
个人推测应该是本人代码的问题,还在继续找原因...