2012-06-16 33 views
2

我有一個Android應用程序,讓用戶提交表單,現在這個表單可以有9個位圖(MAX)。現在我的代碼運行良好,但上傳圖像需要很長時間。有沒有更好的方式來上傳圖片?最好的方式上傳許多位圖到服務器

我的代碼:

Iterator<String> it = car_images.iterator(); 
       int i = 0; 
       while (it.hasNext()) { 
        String imagepath = it.next(); 
        ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
        Bitmap b = BitmapFactory.decodeFile(imagepath); 
        b.compress(CompressFormat.JPEG, 100, bos); 
        byte[] data = bos.toByteArray(); 
        entity.addPart("image_" + i, new ByteArrayBody(data, 

        "myImage.jpg")); 
        Log.d("image loaded", "image_" + i); 
        ++i; 

       } 
       put.setEntity(entity); 
       HttpResponse repsone = client.execute(put); 
+1

是的。不要使用位圖格式。 – m0skit0

+0

然後用什麼?我不理解你,請我是編程新手,沒有經驗 – user4o01

+0

作爲臨時修復,您可以將位圖質量更改爲90而不是100。 JPEG壓縮是有損壓縮的原因是您可以稍微降低圖像質量以實現比無損壓縮高得多的壓縮。 –

回答

3

您可以同時使用線程運行上傳任務,這可能會加速比上傳。 Android開發人員指南在Threads and process上提供了很好的文檔(帶有示例代碼)。

相關問題