原创 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。這種實現在性能差的手機上