静态变量和MultiDex应用程序的应用程序类

时间:2015-09-26 21:00:28

标签: android android-manifest multidex android-multidex

本指南告诉您如何创建Application类:

http://www.intridea.com/blog/2011/5/24/how-to-use-application-object-of-android

它提到您需要在清单中定义Application类的名称:

<application android:icon="@drawable/icon" android:label="@string/app_name" android:name="MyApplication">

我认为Application类对于保存静态变量/对象非常有用,例如GoogleApiClient,这样您每次活动结束时都不必重新连接Google,而只要将它放在应用程序类中,您只需要在应用启动时连接一次,在关闭时断开连接。

我有一个multidex应用:https://developer.android.com/tools/building/multidex.html

Multidex应用程序要求我在清单中为应用程序提供"android.support.multidex.MultiDexApplication"的常量名称:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.multidex.myapplication">
    <application
        ...
        android:name="android.support.multidex.MultiDexApplication">
        ...
    </application>
</manifest>

如果我必须提供android:name="android.support.multidex.MultiDexApplication"作为应用程序名称,我也不能同意android:name="MyApplication"。据我所知,应用程序不能有两个名称。

是否可以在app中同时使用multidex和自定义应用程序类?

1 个答案:

答案 0 :(得分:1)

  

我认为Application类对于保存静态变量/对象很有用

如果它们是static,则Application不会持有它们。

  

是否可以在app中同时使用multidex和自定义应用程序类?

根据the documentation,您可以让您的课程延长MultiDexApplication或覆盖attachBaseContext(),然后拨打MultiDex.install(this),而不是需要MultiDexApplication