是否可以在 Java 中通过代码检查对象是否已在静态上下文中创建?
背景:我想根据对象的类型(在静态上下文中创建的静态类/对象 -> 强引用,常规对象 -> 弱引用)来决定是否使用弱引用或强引用来存储给定对象。我需要将引用保留在一个可能长期存在的请求中,这可能是唯一保留对所指对象的引用的对象。当我为 Android 编程时,这些对象可能是活动,我不想仅仅因为周围仍然存在可能过时的请求而保留这些活动 - 因此在这种情况下需要弱引用。但是,如果请求是由静态类或在静态上下文中发出的,我想保留静态类(与整个活动相反,这些类通常不会占用太多内存)。
希望这个要求听起来不会太粗糙。;) 我们计划在未来交换基于活动的通信以支持单一通信服务,但目前使用弱引用(以及在绝对必要时使用强引用)的简单解决方案也可以。