Android应用程序初始化

Android应用程序初始化,android,Android,我有一个由配置XML驱动的应用程序:各种 在应用程序启动时,通过解析XML和 初始化某个类的静态变量。从中读取的数据 XML驱动应用程序的不同活动。目前,我有 从 我的主要活动的onCreate() 关于这个案例/方法,我有几个问题: 我应该从应用程序调用应用程序初始化方法吗 反对还是当前的方法正确?有什么好处/ 如果我选择从网站上引用它,我们会有什么缺点 应用程序对象 我们真的需要一个静态类来存储应用程序属性吗?或者我们可以将所有属性作为应用程序对象中的静态集合变量 在应用程序加载时解析XML

我有一个由配置XML驱动的应用程序:各种 在应用程序启动时,通过解析XML和 初始化某个类的静态变量。从中读取的数据 XML驱动应用程序的不同活动。目前,我有 从 我的主要活动的onCreate()

关于这个案例/方法,我有几个问题:

  • 我应该从应用程序调用应用程序初始化方法吗 反对还是当前的方法正确?有什么好处/ 如果我选择从网站上引用它,我们会有什么缺点 应用程序对象

  • 我们真的需要一个静态类来存储应用程序属性吗?或者我们可以将所有属性作为应用程序对象中的静态集合变量

  • 在应用程序加载时解析XML(~200个节点)可能需要一些时间(而不是 当然要多长时间);我怎样才能避免可怕的ANR?我正在使用 拉解析器

  • 请帮我找到这些问题的答案

    多谢各位

  • 这取决于您正在初始化的内容。应用程序的
    onCreate()
    应该用于在应用程序的任何部分正常工作之前需要做的事情,并且只需要做一次,而Activity/Service/etc的
    onCreate()
    应该用于该组件单独需要做的事情,并且需要做多次

    对于将所有初始化放在组件中,我所关心的主要问题是,这将使以后扩展应用程序更加困难。假设您想使应用程序中的某些活动可以被外部意图访问-现在您必须将初始化代码移动到应用程序中,或者必须在非启动器活动中复制初始化代码

  • 听起来你应该退房,尤其是。首选项将存储在会话之间,它使您可以方便地从任何上下文访问简单属性

  • 穿线。我发现这是完成这项任务最简单的方法;有。或者,您可以在后台启动一个服务来执行此操作,同时让前台活动通知用户您正在启动应用程序

  • 该对象用于在整个应用程序中共享非持久性状态。我认为您根本不需要使用
    应用程序
    类。您可以在首先调用的
    活动
    onCreate()
    方法中进行初始化。致:

    子类是可选的;大多数应用程序都不需要。在缺少子类的情况下,Android使用基本应用程序类的实例

    您不需要创建自己的类来存储应用程序属性。这是我为你做的

    你还应该看看 类,因为这将根据XML文件中的数据设置首选项。这种方法的优点是使用
    readreach
    参数,这样XML只解析一次(第一次启动应用程序时),而不是每次