原创 kotlin if判定分支中有範型方法和null返回造成的空指針
寫了一段代碼,造成了空指針 WallpaperUtil.displayWallpaper(pageLifecycle, item, helper.getView(R.id.wallpaper_image), if (item.isHo
原创 Improve RecyclerView Performance
原文地址:https://medium.com/@farshidabazari/improve-recyclerview-performance-ede5cec6c5bf In my last project, I’ve been wor
原创 RecyclerView局部刷新和原理介紹
一、引言 Android早期實現列表功能的控件是ListView,後來google推出了RecyclerView替代ListView。RecyclerView相對ListView有一些優勢,其中一個是局部刷新,本文主要圍繞它進行介
原创 RxView防重複點擊原理
(代碼基於rxbinding-1.0.1) 使用RxJava實現View防重複點擊功能比較簡單 fun View.noDoubleClick(action: Action1<Void>) { @Suppress("DEPREC
原创 說一說線程池對象的回收
一、引子 現在的業務開發中用到了ReactNative,熱更新的代碼下發使用的是GeckoClient框架。之前開發同學的實現是在Rn的基類Fragment和Activity中,創建一個GeckoClient成員變量,然後進行更
原创 Matrix框架慢函數檢測和分析
一、介紹 Matrix 是一款微信研發並日常使用的 APM(Application Performance Manage),當前主要運行在 Android 平臺上。 Matrix 的目標是建立統一的應用性能接入框架,通過各
原创 說一說Glide.with()
一、引子 Glide框架是google推薦的Android圖片加載框架,使用起來非常輕便,比如以下代碼就可以實現在fragment內,以fitCenter方式加載圖片,未加載成功前顯示placeholder。 Glide.wi
原创 一次ThreadPoolExecutor中maximumPoolSize誤用
之前對於ThreadPoolExecutor的幾個參數corePoolSize,maximumPoolSize,keepAliveTime,BlockingQueue的理解是: corePoolSize:核心線程數 maximum
原创 不當使用BaseQuickAdapter和notifyItemRemoved出現IndexOutOfBoundsException
1.描述:RecyclerView BaseQuickAdapter notifyItemRemoved()在使用EmptyView,並且有headerView時,刪除列表中唯一一個元素會崩潰 2.崩潰詳情: java.lang.Inde
原创 慎用AsyncTask
今天銷售反應一個問題,首次啓動app(進程從無到),直接點擊拍照,在拍照成功後會卡頓一段時間再進入截圖頁,但之後進入就再也沒有這個現象。 把手機借來,直接看android monitor logcat,發現
原创 android 4.0.3和4.0.4上webview只顯示一屏問題的定位
遇到一件糟心事,之前開發的webview加載本地js的內容的功能被測出兼容性問題,在android 4.0.3、4.0.4的手機上,只能顯示一屏,內容超過一屏的也不能滑動。 一開始判斷是android系統兼容性的
原创 靜態語句塊、構造語句塊與構造方法執行順序
先看一到面試題: package com.szn.test; class ClassA { // 加載 private static int valueStaticA = 10; static { System.out.p
原创 Java與Js通信總結
在android hybrid app開發過程中,經常要面對的一個問題是java與js的通信。android程序是由dalvick虛擬機來運行,javascript是由webview的webkit引擎來解析執行,本質上應該是dalvick
原创 EventBus代碼解讀
前言、提問 1.EventBus如何使用? 2.EventBus的執行流程? 3.onEvent****(Object o)與onEvent****(具體的類型)比較,哪個效率更高?各有什麼好處? 4.EventBus註冊查找等是在UI線
原创 activity啓動卡頓問題
切換頁面卡斷問題 一、問題: 由於項目需求經常變動,使用Activity包含Fragment來實現,在Activity的onCreate中創建加載Fragment。這種實現在性能差的手機上