바이트 배열을로드하는 데 너무 오래 걸리나요?

user3368956

내 앱을 코딩 할 사람을 고용했습니다. 인터넷에서 다운로드 한 도구를 내 앱으로로드합니다. 기악을 다운로드하려면 빠르지 만 기악을로드 할 때 최소한 1 분 이상은 정말 오래 걸립니다. 나는 그것이 속도를 늦추는 곳을 찾기 위해 코드를 살펴 보았지만 그것을 알아낼 수없는 것 같습니다. 도움을 주시면 감사하겠습니다.

코드 : // 파일 로딩 작업

 class SaveInputStreamTask extends AsyncTask<String, Integer, String> {

            private Context context;
            ProgressDialog mProgressDialog;

            public SaveInputStreamTask(Context context) {
                this.context = context;
            }

            @Override
            protected void onPreExecute() {
                // TODO Auto-generated method stub
                super.onPreExecute();

                // mProgressDialog = new ProgressDialog(context);
                 //mProgressDialog.setMessage("Beat Will Take A Minute To Load When Mixing So Start Recording");
                mProgressDialog = ProgressDialog.show(context, getResources().getString(R.string.app_name), "Beat Will Take Up To A Minute To Load. In The Meantime How's Your Day?");
                 mProgressDialog.show();

            }

            @Override
            protected String doInBackground(String... sUrl) {

                try
                {
                    File file = new File(instrument_file_name);
                    long totalFilesize = file.length();
                    long readSize = 0;
                    FileInputStream fis = new FileInputStream(file);
                    saveInputStream(fis);
                    return "SUCCESS";
                }
                catch(Exception ex)
                {
                    ex.printStackTrace();
                }
                return null;
            }

            @Override
            protected void onProgressUpdate(Integer... progress) {
                super.onProgressUpdate(progress);
                // if we get here, length is known, now set indeterminate to false
                mProgressDialog.setIndeterminate(false);
                mProgressDialog.setMax(100);
                mProgressDialog.setProgress(progress[0]);
            }

            @Override
            protected void onPostExecute(String result) {
                mProgressDialog.dismiss();
                if(result == null){
                    Toast.makeText(context, "Loading Beat failed. Please try again", Toast.LENGTH_SHORT).show();
                    RecordRap.this.finish();
                }
                else
                {

                }
            }

            public void saveInputStream(InputStream is) throws IOException
            {
                int n = 0;
                DataInputStream in1;
                in1 = new DataInputStream(is);
                ByteArrayOutputStream bos = new ByteArrayOutputStream();

                try 
                {

                    while ((n = in1.read()) != -1) 
                    {
                        bos.write(n);
                    }
                } 
                catch (IOException e)
                {   
                    e.printStackTrace();
                }

                ByteBuffer bb = ByteBuffer.wrap(bos.toByteArray());
                bb.order(ByteOrder.LITTLE_ENDIAN);
                ShortBuffer sb = bb.asShortBuffer();

                for (int i = 0; i < sb.capacity(); i++) {
                    beatsShortList.add(sb.get(i));
                }
            }
        }
user3368956

그래서 @Stephen C 덕분에 문제는 while ((n = in1.read()) != -1)버퍼를 추가하고 코드를 다음과 같이 변경했으며 문제는 이제 몇 초 밖에 걸리지 않고 수정되었습니다. 도움을 주신 Stephen C와 Ratul Sharker에게 감사드립니다.

업데이트 된 코드 :

                    byte[] buffer = new byte[0xFFFF];

                    while ((n = in1.read(buffer)) != -1)
                    {
                        bos.write(buffer, 0, n);
                    }

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

이미지를 AWS에 업로드하는 데 너무 오래 걸리나요?

분류에서Dev

레이아웃에 이미지를로드하는 데 너무 오래 걸리나요?

분류에서Dev

sudo dd가 하드 드라이브를 지우는 데 너무 오래 걸리나요?

분류에서Dev

sudo dd가 하드 드라이브를 지우는 데 너무 오래 걸리나요?

분류에서Dev

C #을 업데이트하는 데 너무 오래 걸리는 Listview

분류에서Dev

응답이 너무 오래 걸리는 경우 나머지 요청 취소

분류에서Dev

로드하는 데 너무 오래 걸리는 저해상도 이미지

분류에서Dev

Windows 7을 종료하는 데 너무 많은 시간이 걸리나요?

분류에서Dev

WinForms 컨트롤을로드하는 데 너무 오래 걸립니다.

분류에서Dev

웹 사이트가 응답하는 데 너무 오래 걸리는지 확인

분류에서Dev

웹 사이트가 응답하는 데 너무 오래 걸리는지 확인

분류에서Dev

Apple Mail로 메일을 보내는 데 너무 오래 걸리는 이유

분류에서Dev

데이터 세트로 인해 양식을로드하는 데 너무 오래 걸립니다.

분류에서Dev

압축 된 PNG 이미지가 많을수록로드하는 데 더 오래 걸리나요?

분류에서Dev

LINQ DBcontext가 데이터를로드하는 데 너무 오래 걸립니다.

분류에서Dev

iOS는 HTTP 요청 후 뷰를 업데이트하는 데 시간이 오래 걸리나요?

분류에서Dev

요청이 너무 오래 걸리는 경우 NSURLSession dataTask 취소

분류에서Dev

JOIN이 너무 오래 걸리는 SELECT

분류에서Dev

앱을로드하는 데 너무 오래 걸립니다

분류에서Dev

로드하는 데 너무 오래 걸리는 경우 이미지를 교체하는 조건 설정

분류에서Dev

Windows Phone에서 컨트롤을로드하는 데 시간이 너무 오래 걸립니다.

분류에서Dev

수입을로드하는 데 터무니없이 오래 걸리는 IPy

분류에서Dev

작은 입력으로도 파이썬 코드를 실행하는 데 왜 오래 걸리나요?

분류에서Dev

Spark dataFrame은 열을 업데이트 한 후 표시하는 데 너무 오래 걸립니다.

분류에서Dev

응답하는 데 너무 오래 걸리는 mysql 쿼리

분류에서Dev

내 앱을 설치하는 데 시간이 너무 오래 걸리는 이유는 무엇입니까?

분류에서Dev

Google App Engine이 재배포 후 처음으로 요청을 처리하는 데 시간이 오래 걸리나요?

분류에서Dev

이것을 함수로 래핑하는 데 10 배 더 오래 걸리는 이유는 무엇입니까?

분류에서Dev

Boto3를 사용하여 AWS Sagemaker로 엔드 포인트를 생성하는 데 시간이 너무 오래 걸리는 이유는 무엇입니까?

Related 관련 기사

  1. 1

    이미지를 AWS에 업로드하는 데 너무 오래 걸리나요?

  2. 2

    레이아웃에 이미지를로드하는 데 너무 오래 걸리나요?

  3. 3

    sudo dd가 하드 드라이브를 지우는 데 너무 오래 걸리나요?

  4. 4

    sudo dd가 하드 드라이브를 지우는 데 너무 오래 걸리나요?

  5. 5

    C #을 업데이트하는 데 너무 오래 걸리는 Listview

  6. 6

    응답이 너무 오래 걸리는 경우 나머지 요청 취소

  7. 7

    로드하는 데 너무 오래 걸리는 저해상도 이미지

  8. 8

    Windows 7을 종료하는 데 너무 많은 시간이 걸리나요?

  9. 9

    WinForms 컨트롤을로드하는 데 너무 오래 걸립니다.

  10. 10

    웹 사이트가 응답하는 데 너무 오래 걸리는지 확인

  11. 11

    웹 사이트가 응답하는 데 너무 오래 걸리는지 확인

  12. 12

    Apple Mail로 메일을 보내는 데 너무 오래 걸리는 이유

  13. 13

    데이터 세트로 인해 양식을로드하는 데 너무 오래 걸립니다.

  14. 14

    압축 된 PNG 이미지가 많을수록로드하는 데 더 오래 걸리나요?

  15. 15

    LINQ DBcontext가 데이터를로드하는 데 너무 오래 걸립니다.

  16. 16

    iOS는 HTTP 요청 후 뷰를 업데이트하는 데 시간이 오래 걸리나요?

  17. 17

    요청이 너무 오래 걸리는 경우 NSURLSession dataTask 취소

  18. 18

    JOIN이 너무 오래 걸리는 SELECT

  19. 19

    앱을로드하는 데 너무 오래 걸립니다

  20. 20

    로드하는 데 너무 오래 걸리는 경우 이미지를 교체하는 조건 설정

  21. 21

    Windows Phone에서 컨트롤을로드하는 데 시간이 너무 오래 걸립니다.

  22. 22

    수입을로드하는 데 터무니없이 오래 걸리는 IPy

  23. 23

    작은 입력으로도 파이썬 코드를 실행하는 데 왜 오래 걸리나요?

  24. 24

    Spark dataFrame은 열을 업데이트 한 후 표시하는 데 너무 오래 걸립니다.

  25. 25

    응답하는 데 너무 오래 걸리는 mysql 쿼리

  26. 26

    내 앱을 설치하는 데 시간이 너무 오래 걸리는 이유는 무엇입니까?

  27. 27

    Google App Engine이 재배포 후 처음으로 요청을 처리하는 데 시간이 오래 걸리나요?

  28. 28

    이것을 함수로 래핑하는 데 10 배 더 오래 걸리는 이유는 무엇입니까?

  29. 29

    Boto3를 사용하여 AWS Sagemaker로 엔드 포인트를 생성하는 데 시간이 너무 오래 걸리는 이유는 무엇입니까?

뜨겁다태그

보관