线程下载的数据长度 (10%3 == 0 ? 10/3:10/3+1) ,第 1,2 个线程下载长度是 4M,第三个线程下
载长度为 2M
下载开始位置:线程 id*每条线程下载的数据长度 = ?
下载结束位置:(线程 id+1)*每条线程下载的数据长度-1=?
!
(3)使用 Http 的 Range 头字段指定每条线程从文件的什么位置开始下载,下载到什么位置为止,
如:指定从文件的 2M 位置开始下载,下载到位置(4M-1byte)为止
代码如下:HttpURLConnection.setRequestProperty("Range", "bytes=2097152-4194303");
!
(4)保存文件,使用 RandomAccessFile 类指定每条线程从本地文件的什么位置开始写入数据。
RandomAccessFilethreadfile= newRandomAccessFile("QQWubiSetup.exe ","rwd");
threadfile.seek(2097152);//从文件的什么位置开始写入数据
工厂模式
选择排序
冒泡排序
快速排序
字符串相关的操作
8.关于 AndroidOOM,以及如何避免?
"#为什么会出现内存不够用的情况呢?我想原因主要有两个:由于我们程序的失误,长期
保持某些资源(如 $)的引用,造成内存泄露,资源造成得不到释放。保存了多个
耗用内存过大的对象(如 %&),造成内存超出限制。
' #如何避免优化?
、应该尽量避免 成员变量引用资源耗费过多的实例,比如 $。$ 尽
量使用 ($
、线程也是造成内存泄露的一个重要的源头。线程产生内存泄露的主要原因在于线程生
命周期的不可控。将线程的内部类,改为静态内部类。
、%& 问题在用完 %& 时,要及时的 掉)设置一定的采样率)
%&*#+,-%&*#+)