Rajesh Kumar created CB-7109:
--------------------------------
Summary: exec() call to plugin blocked the main thread
Key: CB-7109
URL: https://issues.apache.org/jira/browse/CB-7109
Project: Apache Cordova
Issue Type: Bug
Components: Android, Plugin File
Affects Versions: 3.5.0
Reporter: Rajesh Kumar
Priority: Minor
In the file plugin of v3.5.0, I constantly see a warning in logcat in eclipse
when I try to write to a file. The warning is:
THREAD WARNING: exec() call to File.write blocked the main thread for 117ms.
Plugin should use CordovaInterface.getThreadPool().
Similar issue is when I try to exit app. I guess this issue is present for all
the plugins. I checked the part of File plugin code:
final String fname=args.getString(0);
final String data=args.getString(1);
final int offset=args.getInt(2);
final Boolean isBinary=args.getBoolean(3);
threadhelper( new FileOp( ){
public void run() throws FileNotFoundException, IOException,
NoModificationAllowedException {
long fileSize = write(fname, data, offset, isBinary);
callbackContext.sendPluginResult(new
PluginResult(PluginResult.Status.OK, fileSize));
}
}, callbackContext);
And, threadhelper uses:
cordova.getThreadPool().execute(new Runnable() {
public void run() {}
});
This means, the plugin is using a thread to do some async task, but logcat
throws the block warning. We need to fix this.
--
This message was sent by Atlassian JIRA
(v6.2#6252)