我有一个奇怪的例外,我不知道如何处理它.它仅在Galaxy笔记上发生,仅在Android 4.3版本上发生.如果有人看到这个,知道它来自哪里或如何处理它,我真的很感激一些帮助.
java.util.concurrent.TimeoutException: android.database.BulkCursorToCursorAdaptor.finalize() timed out after 15 seconds
android.os.BinderProxy.transact(Native Method)
android.database.BulkCursorProxy.close(BulkCursorNative.java:214)
android.database.BulkCursorToCursorAdaptor.close(BulkCursorToCursorAdaptor.java:122)
android.database.AbstractCursor.finalize(AbstractCursor.java:434)
java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:188)
java.lang.Daemons$FinalizerDaemon.run(Daemons.java:171)
at java.lang.Thread.run(Thread.java:841)
Run Code Online (Sandbox Code Playgroud)
谢谢!
ps我用Google搜索并在stackoverflow上找到以下线程,但它们没有帮助:
我有一个奇怪的例外,我无法重现(来自bugsense):
java.lang.ArrayIndexOutOfBoundsException: length=0; index=1
at java.util.HashMap.addNewEntry(HashMap.java:476)
at java.util.HashMap.put(HashMap.java:408)
Run Code Online (Sandbox Code Playgroud)
怎么会放方法上ConcurrentHashMap可以抛出ArrayIndexOutOfBoundsException?(我也尝试使用ConcurrentHashMap,但没有任何运气)
有任何想法吗?
编辑:
添加代码:
final Map<String, DataSource> dataSources = new ConcurrentHashMap<String, DataSource>();
public void setDataSource(@Nonnull String field, @Nullable DataSource source) {
// concurrent hash map doesnt allow null values
if (field != null) {
if (source != null) {
dataSources.put(field, source);
} else {
dataSources.remove(field);
}
}
}
Run Code Online (Sandbox Code Playgroud)
许多线程同时调用此方法
谢谢.