后台服务 - 堆大小

时间:2013-10-31 23:18:16

标签: android performance

我在后台服务中将图像从设备上传到服务器,但是当我打开应用程序时,它崩溃了(没有logcat错误)。我在清单中使用largeHeap =“true”。我想知道如何优化服务?

public String getGal(String sec)
{

    file = new File(Environment.getExternalStorageDirectory(), "/Image/folder/");

    File[] allFiles = file.listFiles();
    for(int i=0; i<allFiles.length; i++) {


              try {
                  if(allFiles[i].getPath().toString().contains(".jpg"))
                  {
                  up(allFiles[i].getCanonicalPath()); //my upload method
                  }

            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

       }
    return sec;

    }

1 个答案:

答案 0 :(得分:0)

  

该应用说“应用没有响应。你要关闭吗?”白色的空白屏幕

您正在占用主应用程序线程。请注意,Service上的生命周期方法(例如onStartCommand())在主应用程序线程上调用。任何花费超过一毫秒或两秒的工作都应该移到后台线程上。