如果出现挂测一段时间某个功能失效的情况就需要排查下代码中是否有功能对象初始化成了局部变量,可能在代码执行过程中被回收了
问题案例,按键外部中断对象初始化成了局部变量,挂测一晚后,按键未正常触发回调。初始化成全局变量就未复现。
这个是内存自动管理的
创建的实例对象能定义成全局变量的不要定义成局部变量,否则可能会因为局部变量被系统回收导致出现异常,如:GPIO状态恢复 到默认状态导致的异常,对象被回收导致找不到的异常等。
如果出现挂测一段时间某个功能失效的情况就需要排查下代码中是否有功能对象初始化成了局部变量,可能在代码执行过程中被回收了
问题案例,按键外部中断对象初始化成了局部变量,挂测一晚后,按键未正常触发回调。初始化成全局变量就未复现。
这个是内存自动管理的
创建的实例对象能定义成全局变量的不要定义成局部变量,否则可能会因为局部变量被系统回收导致出现异常,如:GPIO状态恢复 到默认状态导致的异常,对象被回收导致找不到的异常等。