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)

Reply via email to