咨询Android代码运行机制
举个例子
我有一个for循环,循环一个数组,数组中每一个值都是一个资源的下载链接
我循环这个数组,调用下载方法。
...
for(int i = 0; i < testStrings.length; i++)
downloadRes(testStrings[i]);
...
private void downloadRes(String URL) {
...
}
我能确定的是,调用方法的传入参数设置为final时,for循环会等前一个资源下载完毕后继续下载下一个资源。
但如果不是final的参数,那么他可能就会在前一个资源还没下载完毕时就会下载下一个资源,这样参数就会混乱,第二次调用时的相关对象就会覆盖第一次调用时牵扯的对象。。
这样的方法我写过两次,一次是下载apk,一次是下载图片,但是我发现下载图片时他就能等前一个图下载完成后下另一个,但是下载apk时程序就乱了。。。
求助为什么。。。
个人猜想,图片很小。。。
是这样么?
谢谢。
[解决办法]
貌似是吧。。。
帮顶。。
[解决办法]
不太理解楼主的思路,我也下我的思路:
建议建立一张表 也就是我们的下载列表
对应这两组boolea值 第一组 用来标记是否已经下载完,第二组 标记暂停或者开始.
用一个线程来读取表中的内容,通过boolean在确定暂停,继续,下载
线程中的东西就不写了.
那么通过添加表中内容,也就是添加下载列表.然后开启线程,已经下完了的不用下.没有下完的则可以继续下载,直到下载完.
而且还可以通过id来实现,下载个数的控制.
楼主可以用 三个数组 一个字符串数组 两个boolean数组来试一下.这个思路我觉得蛮好用的.
希望对楼主有所帮助