当前位置: 代码迷 >> Android >> 咨询Android代码运行机制,该如何处理
  详细解决方案

咨询Android代码运行机制,该如何处理

热度:2   发布时间:2016-05-01 15:10:56.0
咨询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数组来试一下.这个思路我觉得蛮好用的.

希望对楼主有所帮助
  相关解决方案