开发遇到错误总结20160809

来源:互联网 发布:淘宝皇冠店必须贷款吗 编辑:程序博客网 时间:2024/06/05 14:31

1.  问题:当遇到服务器接口返回一大堆网页的代码时

处理方案,检查服务器地址是否有空格,或少反斜杠

2. 问题:更改应用图标不显示问题

处理方案,删除bin目录下所有文件,重新生成,

原因,修改图片后,编译器没有重新编译

3. 问题:Android Audio Recorder无法创建:Error creating AudioRecord instance: initialization check failed.

原因:

a.可能没有加上权限。加上 <uses-permission Android:name="android.permission.RECORD_AUDIO" />

b.设置的缓冲区大小写死了,可能小于了设备的最小缓冲区大小。通过AudioRecord.getMinBufferSize(RECORDER_SAMPLERATE,RECORDER_CHANNELS,RECORDER_AUDIO_ENCODING)获取最小缓冲区大小。android手机的录音的最小的缓冲区大小是不相同的,如果把大小写死了很可能这个手机能成功运行起来,到了其他的手机就不能运行起来了。

解决方案:根据采样率,声道,采样精度等参数不固定设置缓冲区大小

int bufferSize = AudioRecord.getMinBufferSize(caiyanglv,shengdao,caiyangjingdu);

(其中,经测试,三星S5和红米2S的最小缓冲区大小为1280,6.0系统的Nexus6P,华为P8的最小缓冲区是72)

 

4.使用多个类同时继承AsyncTask时,如果不指定运行的参数(recorder.execute();),会默认在同一个线程中先后执行,在执行过程中,其他的任务会处于阻塞状态,如果需要同时执行多个任务,即同时开启多个线程执行任务,需要指定特殊的方法(recorder.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);).

5.android.util.SuperNotCalledException: Activity {com.chensi.android.criminalintent/com.chensi.android.criminalintent.activity.CrimePagerActivity} did not call through to super.onCreate()

原因:缺少super方法

解决办法:onCreate方法末尾 添加super.onCreate(sa...);

0 0