문제:
2kb 미만의 파일을 작성할 때 공간 부족 문제가 직접 보고됩니다. Retrofit2에서 요청한 파일이 사용됩니다. 전문가가 이유를 알아볼 시간이 있습니까?
오류 보고 세부정보:
D/OkHttp: --> GET http://musicdata.baidu.com/da... http/1.1
D/OkHttp: <-- 200 OK http://musicdata. baidu.com/da... (98ms, 1877바이트 본문)
D/ContentValues: onResponse: 가사 파일 요청 성공
I/art: Thread[2,tid=3036,WaitingInMainSignalCatcherLoop,Thread*=0xae402000,peer=0x12c930a0 , "Signal Catcher"]: 신호 3에 반응
I/art: '/data/anr/traces.txt'
W/System.err에 스택 추적을 기록했습니다. java.io.IOException: 쓰기 실패: ENOSPC(공백 없음 장치에 남아 있음)
W/System.err: libcore.io.IoBridge.write(IoBridge.java:498)
W/System.err: java.io.FileOutputStream.write(FileOutputStream.java:186)
W / System.err: com.wang.mymusic.data.MusicData.lrcFile(MusicData.java:163)
W/System.err: com.wang.mymusic.data.MusicData.access$200(MusicData.java:40) )
W/System.err: com.wang.mymusic.data.MusicData$3.onResponse(MusicData.java:123)
W/System.err: Retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java: 68)
W/System.err: android.os.Handler.handleCallback(Handler.java:739)
W/System.err: android.os.Handler.dispatchMessage(Handler.java:95)
W/System . 오류: android.os.Looper.loop(Looper.java:148)
W/System.err: android.app.ActivityThread.main(ActivityThread.java:5417)
W/System.err: java. lang .reflect.Method.invoke(네이티브 메소드)
W/System.err: com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
W/System.err: com.android .internal.os.ZygoteInit.main(ZygoteInit.java:616)
W/System.err: 원인: android.system.ErrnoException: 쓰기 실패: ENOSPC(장치에 남은 공간 없음)
W/System.err: at libcore .io.Posix.writeBytes(네이티브 메소드)
W/System.err: libcore.io.Posix.write(Posix.java:271)
W/System.err: libcore.io.BlockGuardOs.write(BlockGuardOs . java:313)
W/System.err: libcore.io.IoBridge.write(IoBridge.java:493)
W/System.err: ... 12개 더
I/art: 배경 부분 동시 마크 스윕 GC 해제된 83995(3MB) AllocSpace 개체, 0(0B) LOS 개체, 12% 사용 가능, 27MB/31MB, 일시 중지된 3.141ms 총 131.690ms
I/art: 배경 고정 동시 마크 스윕 GC 해제 104777(4MB) AllocSpace 개체, 0( 0B) ) LOS 개체, 0% 사용 가능, 34MB/34MB, 일시 중지됨 총 5.311ms 163.136ms
코드:
//가사 파일을 디스크에 저장
으아악
while (fileread!= -1){
으아아아루프를 사용하는 것은 잘못된 것입니다. 이 루프는 if
로 변경해야 합니다.