第二阶段每日汇报20230525
今日解决了安卓项目的报错问题
1.中文注释导致编译乱码
2.数组越界
3.空指针异常
报错1.

解决方法:
修改AndroidStudio的VM Options,增加UTF-8编码支持。
Step1:AS----> Help----->Edit Custom VM options
Step2:打开文件后再最后增加UTF-8编码设置
Dfile.encoding=UTF-8
Step3:AS–>File—>Invalid caches./Restart 重启
报错2.
==5768==ERROR: AddressSanitizer: global-buffer-overflow on address 0x64619e74 at pc 0x595b4fdf bp 0xeecfefd8 sp 0xeecfefc8
解决方法2.
跟踪ListView的源码,可以看出来是与Adapter绑定的数据源存在数组越界。
因为此时,可能会有两个甚至多个线程同时修改数据源。
报错3.空指针异常

解决方法3.
hisList = (ListView) findViewById(R.id.oillist);
if(hisList==null)
{
Log.d("debug","hislist null");
}
hisList.setAdapter(tAdapter);
发现hisList是空指针,这时候就要检查 findViewById(R.id.oillist) 里面的ID是不是不存在,或者产生冲突了,有重复的名字存在。
一般错误在 findViewById处。我的这里错误出现在ID oillist 有重名,改成别的名字就OK了。

浙公网安备 33010602011771号