主app和home widget是否存在于同一个内存空间中

时间:2014-03-24 16:55:14

标签: android

目前,在我的主应用程序中,我有几个Threads,它可以对平面文件执行读/写操作。为避免因同时写入而导致数据损坏,我有一个公共静态CountDownLatch,以避免多个Threads修改同一个文件。

到目前为止,这很有效。

直到最近,我正在为主应用程序开发一个主页小部件功能。在主窗口小部件(或多个主窗口小部件)中,也可以有多个线程访问同一文件。

我很想知道,是我的主要应用程序&小部件在同一个内存空间?将主要应用程序&窗口小部件将公共静态CountDownLatch视为 ONE 实例,或 TWO 实例。

到目前为止,我的初步测试是,主应用程序&小部件都在同一个内存空间中。他们将公开静态CountDownLatch视为 ONE 实例。但是,我只是想确保,是否有任何边缘案例主要的应用程序&小部件可以将其视为 TWO 实例?

1 个答案:

答案 0 :(得分:1)

  

我很想知道,是我的主要应用程序&小部件在同一个内存空间?

默认情况下,是的,因为只有一个进程。但是,请记住,您的流程可能会在您的活动到期之间以及稍后需要更新应用小部件的某个时间之后终止。

  

但是,我只是想确保,是否有任何主要应用程序&小部件可以将其视为两个实例吗?

只有当它们在不同的进程中运行时才能实现。而且,在这种情况下,它们也是完全独立的线程。尽管如此,不应该偶然发生单独的过程。