我有一个从库项目创建和调用方法的方法。library 方法从资源加载数据。我在工作线程上执行此操作,并且在执行此操作时从不触摸 UI。进行调用的方法(在工作线程上)是:
private void testGetXData(){
try {
Data data = new Data();
String xsd = data.getXSD();
importedData = xsd;
} catch (Exception e) {
System.out.println(e.getMessage(););
}
}
异常发生在线:
Data data = new Data();
Data
是我图书馆项目中的一个类。并且importedData
是模块级字符串。
编辑
我没有直接使用处理程序。我要做的就是调用该方法:
new Thread(new Runnable() {
public void run() {
testGetXData();
}
}).start();
我这样做是为了不阻塞 UI 线程并获得可怕的 ANR 消息。为了完整起见,我将资源移至图书馆以与服务共享。当资源在应用程序项目中时,这工作正常。自从我将其移至库项目后,它现在才抛出此异常。
此外
如果我注释掉工作线程的使用并在主线程上执行调用,它就可以工作!但是,我想在仍然抛出异常的后台线程上执行此操作。