这是一个普遍的问题,因为我对以下场景没有足够的理解,不幸的是在谷歌上找不到任何解释它的东西。
假设我有一个扩展 VPN 服务的应用程序、一些异步任务、一些线程来读取和处理从 VPN 接口读取的数据包。据了解,一旦我们启动 VPN,虽然我们从任务中终止了应用程序(强制退出),但 VPN 会继续运行。
那么当我们杀死应用程序时会发生什么?是否所有资源(线程、主 UI 线程)都被破坏了?
同样,当我们重新启动应用程序时,是否所有资源都再次初始化?
你能解释一下它是如何在这里工作的吗?
我有这个问题是因为我有一个在主线程上运行的后台线程。当我强制关闭应用程序时,线程不会中断,但是当我在重新启动应用程序后(强制退出或终止后)尝试更新线程时,我得到一个空指针异常,因为该线程不可访问。整个 UI 线程是否被重新初始化?
使用 VPN 服务解决这种情况的方法是什么。