[
https://issues.apache.org/jira/browse/CB-7109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14264903#comment-14264903
]
Ian Clelland commented on CB-7109:
----------------------------------
It doesn't look like any code has been committed to the file plugin. It still
parses JSON on the main thread, in the master branch.
Agreed that we should keep this issue on-topic, and open others for other
(core) plugins if they are also slowed by JSON args handling.
Non-core plugins are best handled through education and documentation. If
overriding the String version of {{execute}} is better for plugins which handle
large JSON payloads, then we should mention that on the plugin development
pages.
> 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.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]