Android - 输出Logcat时报错[ read: unexpected EOF! ]

https://www.jianshu.com/p/4679f7bfac3a

在Android8.0後連接電腦只要日誌打印頻繁且量大就經常看到錯誤[ read: unexpected EOF! ]
只要出現這個錯誤時Logcat就停止打印了(特別是在AndroidStudio中正當調試時突然出現這個問題)
8.0以前也會報錯只是系統默認丟掉多的數據
網上很多解決辦法都是改為通過adb方式輸出結果到文件:

adb logcat -v time process > [路徑]
這種辦法不方便查看log,並且又不及時

原因
Logcat的Buffer不夠用

徹底解決辦法
進入系統設置 > 開發者選項 > 調試 > 日誌記錄器緩衝區大小
點擊設置日誌緩衝區大小,若存儲空間支持可直接改為最大的值接口解決問題
...繼續閱讀 »

Android - 尋找字串裡面關鍵字,符合兩個以上的條件

var msp = SpannableString(txtv.text)
var lowerStr = txtv.text.toString().toLowerCase()
Log.d("shawnKeyWordSearch", "keyword:$keyword")
val pattern: Pattern = Pattern.compile(keyword.toLowerCase())
val matcher: Matcher = pattern.matcher(lowerStr)
while (matcher.find()) {
    val start: Int = matcher.start()
    val end: Int = matcher.end()
    msp.setSpan(ForegroundColorSpan(ContextCompat.getColor(context, R.color.water_blue)), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
}
txtv.text = msp
...繼續閱讀 »