apache/incubator-cordova-android — pull request #49 by curtiss-howard (2012-09-24 12:53:01+00:00)
Title: Alleviate PluginManager.exec() performance concerns

IPlugin and PluginManager use org.json.JSONArray for passing in plugin arguments. When a large JSON object is provided as an argument, performance is very poor as org.json is an eager, in-memory parser. Users should have the ability to bypass PluginManager's automatic JSONArray parsing and instead receive the raw JSON argument string so that a faster JSON library can be leveraged.

The proposed patch includes an IRawPlugin interface containing an exec() method that takes the raw argument string instead of the pre-parsed one. Any plugin that wants to take advantage of this behavior needs to implement IRawPlugin, so current plugins aren't affected.