最贊回答 / 小寳_昭乂陽
在release()方法里面先判斷一下MediaRecorder是不是為空,不為空的情況下再去stop和release。還有就是你SD卡的讀寫權(quán)限有沒添加?
2016-03-11
showRecordingDialog()中應(yīng)該要判斷mDialog是否為空,為空才new一個(gè)實(shí)例,否則來回移動(dòng)會(huì)造成new很多個(gè)dialog重疊起來無法消除
2016-03-05
setImageResource 才是對(duì)應(yīng)src的 setBackgroundResource 會(huì)造成圖片重復(fù)
2016-02-06
最新回答 / 精慕門6263188
按照你給出的布局寫法只會(huì)顯示圖片,下面那個(gè)TextView是不會(huì)顯示的,因?yàn)榈诙€(gè)LinearLayout被設(shè)置成了match_parent,TextView沒有地方顯示了,你改成wrap_content吧。至于你說的只顯示textview和帶橫的圖片應(yīng)該不是布局的原因
2016-01-26
采用Handler發(fā)送消息的這種方式,感覺應(yīng)該不太好,不要在自定義View中使用Handler機(jī)制
1:Handler與View之間強(qiáng)引用,如榮造成短暫的內(nèi)存泄露;
2:View本身就提供了 Post(runnable)方法,所以不必采用Handler
對(duì)于new Thread這種方式也不太好,可以采用線程池也行, Executors.newFixedThreadPool(1);
也可以采用最新的RxJava,特別方便只要.observeOn(AndroidSchedulers.mainThread())在哪個(gè)線程處理結(jié)果, .subscribeOn(Schedulers.io())
1:Handler與View之間強(qiáng)引用,如榮造成短暫的內(nèi)存泄露;
2:View本身就提供了 Post(runnable)方法,所以不必采用Handler
對(duì)于new Thread這種方式也不太好,可以采用線程池也行, Executors.newFixedThreadPool(1);
也可以采用最新的RxJava,特別方便只要.observeOn(AndroidSchedulers.mainThread())在哪個(gè)線程處理結(jié)果, .subscribeOn(Schedulers.io())
2016-01-20