在应用程序中删除哪些不必要的Phonegap插件?

时间:2013-01-17 22:33:52

标签: android performance cordova phonegap-plugins

SCENARIO

我有一个小型Android Phonegap / Cordova 2.3.0应用程序,我查看了/res/xml/config.xml文件,发现那里有很多插件。

这是一个非常小的应用程序,我想,我正在使用的是通知和ChildBrowser插件。

问题:我想知道删除所有其他插件条目是否安全。如果是,那么:

1)只从/res/xml/config.xml中删除它们吗?

2)哪些插件是强制性的(没有这些插件任何基本应用程序都不起作用)?例如,第一个(“App”插件),我认为是必需的?

3)删除插件会增加我的应用程序的速度吗?或者更小的安装尺寸或.apk尺寸。

有关详细信息,这是我的XML文件的一部分:

<plugins>
    <plugin name="App" value="org.apache.cordova.App"/>
    <plugin name="Geolocation" value="org.apache.cordova.GeoBroker"/>
    <plugin name="Device" value="org.apache.cordova.Device"/>
    <plugin name="Accelerometer" value="org.apache.cordova.AccelListener"/>
    <plugin name="Compass" value="org.apache.cordova.CompassListener"/>
    <plugin name="Media" value="org.apache.cordova.AudioHandler"/>
    <plugin name="Camera" value="org.apache.cordova.CameraLauncher"/>
    <plugin name="Contacts" value="org.apache.cordova.ContactManager"/>
    <plugin name="File" value="org.apache.cordova.FileUtils"/>
    <plugin name="NetworkStatus" value="org.apache.cordova.NetworkManager"/>
    <plugin name="Notification" value="org.apache.cordova.Notification"/>
    <plugin name="Storage" value="org.apache.cordova.Storage"/>
    <plugin name="Temperature" value="org.apache.cordova.TempListener"/>
    <plugin name="FileTransfer" value="org.apache.cordova.FileTransfer"/>
    <plugin name="Capture" value="org.apache.cordova.Capture"/>
    <plugin name="Battery" value="org.apache.cordova.BatteryListener"/>
    <plugin name="SplashScreen" value="org.apache.cordova.SplashScreen"/>
    <plugin name="Echo" value="org.apache.cordova.Echo" />
    <plugin name="StatusBarNotification" value="com.phonegap.plugins.statusBarNotification.StatusBarNotification"/>
    <plugin name="InAppBrowser" value="org.apache.cordova.InAppBrowser"/>
    <plugin name="ChildBrowser" value="com.phonegap.plugins.childBrowser.ChildBrowser"/>
    <plugin name="PushNotification" value="com.pushwoosh.plugin.pushnotifications.PushNotifications" onload="true">
</plugin>

P.S。:我在互联网上搜索过,在Android的任何地方都找不到任何有用的信息,所以问。

1 个答案:

答案 0 :(得分:13)

回答你的问题:

1)从config.xml中删除它们不会将它们从您的应用中删除它只会使其无法调用该功能。

2)您永远不应删除App,Device或NetworkStatus。如果没有它们,你就不会得到“设备准备”事件。

3)它不会让你的应用更快。这些类是延迟加载,即仅在首次使用时进行实例化。它不会使你的.apk更小,因为这些类都在你的应用程序中包含的cordova.jar文件中。