我的应用程序对象有问题。我目前正在使用服务来模拟来自电子游戏板的传入数据。此数据表示为 2D 布尔数组。每五秒服务使用应用程序对象的一个方法来更新数组(setDetectionMap())。我的主 Activity 中的线程正在使用另一种方法 (getDetectionMap()) 读取此数组。经过一些调试后,我几乎可以肯定主 Activity 没有看到变化。这是我的应用程序对象的代码:
public class ChessApplication extends Application{
private static ChessApplication singleton;
private boolean[][] detectionMap;
public static ChessApplication getInstance(){
return singleton;
}
@Override
public void onCreate() {
super.onCreate();
singleton=this;
detectionMap=new boolean[8][8];
}
public boolean[][] getDetectionMap(){
return detectionMap;
}
public void setDetectionMap(boolean[][] newMap){
detectionMap=newMap;
Log.d("Chess Application","Board Changed");
}
}
我检查了我的清单,我重写了我的对象声明十几次,我添加了 LogCat 标记以确保代码在我认为应该执行的时候执行,我什至实现了所谓的冗余单例代码. 有什么想法可能导致这种情况吗?顺便说一句,谁能告诉我如何在活动运行时查看变量状态?提前致谢。