由于android自身的原因,对大文件(如影视频文件)的*作很容易造成OOM,即:Dalvik堆内存溢出,利用文件分割将大文件分割为小文件可以解决问题。
文件分割后分多次请求服务。
1 //文件分割上传
2 public void cutFileUpload(String fileType,String filePath)
3 {
4 try
5 {
6 FileAccessI fileAccessI = new FileAccessI(filePath, 0);
7 Long nStartPos = 0l;
8 Long length = fileAccessI.getFileLength();
9 int mBufferSize = 1024 * 100; //每次处理1024 * 100字节
10 byte[] buffer = new byte[mBufferSize];
11 FileAccessI.Detail detail;
12 long nRead = 0l;
13 String vedioFileName = Usual.f_getUUID(); //分配一个文件名
14 long nStart = nStartPos;
15 int i = 0;
16 while (nStart < length)
17 {
18 detail = fileAccessI.getContent(nStart);
19 nRead = detail.length;