android的线程设计,假如是一个从网络获取图片的线程,
1、我要设计成软件一启动这个线程就启动了,而且一直在运行着,等待用户的指令是否获取图片什么的操作,总之这个线程没到软件退出的时候是不会关闭的,这样设计好吗?
2、还是设计成,这个线程只下载一张或多张图片,下载完成这个线程就停了,如果再需要获取图片,继续new出来。
两种方式都用线程池将线程管理起来。
我想知道你们在设计的时候用的是哪一种方式,或者第一种方法是我的想法有问题,帮忙权衡一下吧!
1、不好,你跑一个后台线程且不说用户知道了会怎么样,你老不关,耗电耗内存耗CPU,用户 如果反复退出进入你程序就会频繁gc
2、不要继续new了就用原来的
其实就是一个生产者与消费者的故事:
初始化流程:创建一个线程(消费者),阻塞等待请求
退出流程:关掉消费者线程