03-31 12:19:37.634 E/IMemory ( 1002): cannot dup fd=49, size=1048576, err=0 (Too many open files)
03-31 12:19:37.634 E/IMemory ( 1002): cannot map BpMemoryHeap (binder=0x67eee880), size=1048576, fd=-1 (Bad file number)
03-31 12:19:37.634 I/AwesomePlayer( 107): AwesomePlayer::AwesomePlayer()in
03-31 12:19:37.634 I/AwesomePlayer( 107): AwesomePlayer::AwesomePlayer()aftermClient.connect()
03-31 12:19:37.644 I/WAVExtractor( 107): mBytesPerSample 2 mNumChannels 1 PCMBytesPresent 30080 offset 44 size 0
03-31 12:19:37.644 I/WAVExtractor( 107): ---->mNumSamples 15040 mSampleRate 16000 duration_us 940000
03-31 12:19:37.644 I/WAVExtractor( 107): mBytesPerSample 2 mNumChannels 1 PCMBytesPresent 30080 offset 44 size 0
03-31 12:19:37.644 I/WAVExtractor( 107): ---->mNumSamples 15040 mSampleRate 16000 duration_us 940000
03-31 12:19:37.654 D/CrashReport( 1002): [Util] Unzip 310 bytes data with type Gzip
03-31 12:19:37.654 D/CrashReport( 1002): [Upload] Response cmd is: 0, length of sBuffer is: 271
03-31 12:19:37.654 I/CrashReport( 1002): [Upload] Success: crash
03-31 12:19:37.654 E/SQLiteLog( 1002): (14) cannot open file at line 30176 of [00bb9c9ce4]
03-31 12:19:37.654 E/SQLiteLog( 1002): (14) os_unix.c:30176: (24) open(/data/data/com.product/databases/bugly_db_-journal) -
03-31 12:19:37.654 E/SQLiteLog( 1002): (14) cannot open file at line 30176 of [00bb9c9ce4]
03-31 12:19:37.654 E/SQLiteLog( 1002): (14) os_unix.c:30176: (24) open(/data/data/com.product/databases/bugly_db_-journal) -
03-31 12:19:37.664 E/SQLiteLog( 1002): (14) statement aborts at 17: [SELECT * FROM t_lr WHERE _tp = 3] unable to open database file
03-31 12:19:37.664 E/SQLiteQuery( 1002): exception: unable to open database file (code 14); query: SELECT * FROM t_lr WHERE _tp = 3
03-31 12:19:37.664 W/CrashReport( 1002): android.database.sqlite.SQLiteCantOpenDatabaseException: unable to open database file (code 14)
03-31 12:19:37.664 W/CrashReport( 1002): at android.database.sqlite.SQLiteConnection.nativeExecuteForCursorWindow(Native Method)
03-31 12:19:37.664 W/CrashReport( 1002): at android.database.sqlite.SQLiteConnection.executeForCursorWindow(SQLiteConnection.java:838)
03-31 12:19:37.664 W/CrashReport( 1002): at android.database.sqlite.SQLiteSession.executeForCursorWindow(SQLiteSession.java:836)
03-31 12:19:37.664 W/CrashReport( 1002): at android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:62)
03-31 12:19:37.664 W/CrashReport( 1002): at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:143)
03-31 12:19:37.664 W/CrashReport( 1002): at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:133)
03-31 12:19:37.664 W/CrashReport( 1002): at android.database.AbstractCursor.moveToPosition(AbstractCursor.java:197)
03-31 12:19:37.664 W/CrashReport( 1002): at android.database.AbstractCursor.moveToNext(AbstractCursor.java:245)
03-31 12:19:37.664 W/CrashReport( 1002): at com.tencent.bugly.proguard.ak.a(BUGLY:437)
03-31 12:19:37.664 W/CrashReport( 1002): at com.tencent.bugly.proguard.aq.a(BUGLY:283)
03-31 12:19:37.664 W/CrashReport( 1002): at com.tencent.bugly.proguard.ar.a(BUGLY:183)
03-31 12:19:37.664 W/CrashReport( 1002): at com.tencent.bugly.proguard.ar.run(BUGLY:482)
03-31 12:19:37.664 W/CrashReport( 1002): at java.lang.Thread.run(Thread.java:856)
问题的解决方案:
感谢这个博主
里面有提到出现这个问题的几个原因,其中第二点指出,fd的文件句柄,在每个进程中只能有1024个fd句柄,在项目中使用SoundPlay播放本机的音频数据,我加载之后没有正确的释放,造成了句柄没有释放,造成句柄泄露.
我找了2天,此刻我的心情,激动的说不出话来.