我有点厌倦了总是在不同的类之间传递一个context来完成一些简单的事情,比如toast或alert对话框,获取应用程序名和版本,甚至只是访问我的sqlite数据库,等等。所有这些都需要Context的实例来运行。我所有的Activity都有一个超级班。在这种情况下,context == this。我有很多助手方法用来整理我的主活动代码。.但是,对于其他类,如helpers、Services、BroadcastReceivers等,我总是需要传递一个额外的this != context变量。在许多情况下,甚至这些其他类也在context线程上操作。有没有方法可以得到当前运行线程的正确main?我正在考虑创建自己的Context系统,也许在我的ThreadLocal子类中,但我不确定这是否是一个稳定的方法。您建议如何获取当前线程的上下文? 最佳答案 有没有方法可以为当前运行的线程获取正确的上下文?不,因为没有这样的概念。如果您同时在内存中有14个活动、2个服务和一个自定义的Application子类,那么它们都是主应用程序线程的“正确上下文”,因为它们的大多数方法都将在该线程上调用。我正在考虑创建自己的threadlocal系统,也许是在我的应用程序子类中,但我不确定这是否是一种稳定的方法。不会的。此外,它几乎可以确保您拥有the wrong context most of the time。获取应用程序名称和版本使用警报对话框使用向他们展示的活动,因为没有其他正确答案。关于android - Android getContext基于当前线程? (ThreadLocal的?),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40271880/
10-12 00:36
查看更多