Android 过程与服务的关系

Android 过程与服务的关系,android,android-service,Android,Android Service,我最近遇到了一个问题,有时从后台服务访问单例会引发NullPointerException singleton实例在launcher活动中构造,并保证在我的应用程序期间不为null 这就引出了我的问题,即服务生命周期与应用程序流程生命周期的关系。具体而言,以下是一些具体问题: 当某个活动进入后台时,是否将包含该活动的进程交换到辅助存储?如果是这样,这将如何影响后台运行的服务 当android操作系统重新启动服务时,将恢复多少包含进程?该流程会成为服务的包装器吗 更新:以下是与我的单例实现相关的代

我最近遇到了一个问题,有时从后台服务访问单例会引发NullPointerException

singleton实例在launcher活动中构造,并保证在我的应用程序期间不为null

这就引出了我的问题,即服务生命周期与应用程序流程生命周期的关系。具体而言,以下是一些具体问题:

  • 当某个活动进入后台时,是否将包含该活动的进程交换到辅助存储?如果是这样,这将如何影响后台运行的服务

  • 当android操作系统重新启动服务时,将恢复多少包含进程?该流程会成为服务的包装器吗

  • 更新:以下是与我的单例实现相关的代码

    private static User curUser = null;
    public static User getCurUser(){
        return curUser;
    }
    public static void setCurUser(User u){
        curUser = u;
    }
    

    在我的应用程序中,只有一个地方调用setCurUser(),即启动程序活动中,它保证用户在设置之前不为null。

    如何定义singleton?通过正确的实现,它不能抛出npe