聽你描述問題是發生在按下list item後會發生ANR
所以我只看你Project中的 OnItemClickListener
我認為問題是出在這一段
https://gist.github.com/deltaguita/626cc463406cc1d8c7eb
scanFile 很明顯是會去訪問Disk(例如SD卡)的
訪問Disk行為會比較耗費時間,應該要實做AsyncTask 在background 操作才對
S2可以正常執行我猜是因為他的硬體規格較Xperia P高的關係
在ANR發生之前就完成訪問了
※ 引述《redok (火焰)》之銘言:
: 大家好
: 我做了一個list view讀了某資料夾的影片檔
: 然後按下去就會用自製的影片播放器播放影片
: 後來我試了Samsung S2 可以正常執行
: 但是 Sony Xperia P 卻不行執行 (導致ANR)
: 會不會有可能某個檔案被我佔用了
: 另一個程式要執行時因為該影片被佔用而無法使用呢?
: 或者其它可能性?
: 我自己是有在播放影片前用 MediaScannerConnection 來確保有該檔案QQ
: 弄到現在不知道該怎麼辦QQ
: 以下是完整程式碼
: https://dl.dropboxusercontent.com/u/110205128/VideoPlayer.zip
: 謝謝大家的幫助!