1

我正在创建一个有五个活动的应用程序。我有一个类,其中包含用于所有五项活动的函数和变量。我在每个活动中创建了一个局部变量,像这样初始化类;

localclass = new globalclass(getResouces());

我是 android/java 开发的新手,当我尝试某些东西时,我想知道 memoryfootprints 之类的。在开始的第一个活动中,如前所述设置 localclass。然后我尝试从其他活动中访问这个变量,并在活动第二、第三等中成功地做到了这一点;

localclass = com.firstactivity.localclass;

我使用的变量之一是对应用程序资源的引用。从第二个开始,我就没有这样的资源了;

res = getResources();

但是像这样;

res = com.firstactivity.localclass.res;

只要变量是静态的,这就会起作用。我也以同样的方式访问 globalclass 中的函数。

这是不好的做法吗?

4

2 回答 2

5

通常使用静态类作为变量持有者确实不是一个好习惯。尝试通过意图传递您在其他活动中需要的变量。请参阅this,因为它更多地解释了为什么这不是一个好方法。

于 2012-12-14T12:51:36.357 回答
3

看看Application 类。您创建一个扩展应用程序的类:

public class YourApplication extends Application {
    // functions, variables, whatever it is you need across your whole program
} 

您可以通过在您的活动/服务中调用它来获得对您的应用程序的引用:

YourApplication app = (YourApplication)getApplication();

另外,请记住在清单文件中声明应用程序。

<application android:name="the.package.name.YourApplication" />
于 2012-12-14T12:52:34.160 回答