原创 Java調用Kotlin函數的坑

看下這段代碼執行main函數結果如何, 會打印"執行了method函數"麼? class DemoClass { fun method(str: String) { System.out.println(

原创 Live Template擼碼利器

參考:https://www.jianshu.com/p/488f2d73e71d 手動輸入代碼太辛苦, 拼敲鍵盤速度? 趕快試用代碼補全功能吧。 IntelliJ idea和Android Studio都支持代碼自動補全功能,

原创 可拖拽的ListView

長按拖拽item並實現變更排序; 安卓默認長按時間間隔500ms。 說明: WindowManager在addView時尚未測量完成, 獲取寬高都是0。 可以這樣測量: view.measure(View.Measure

原创 地圖類業務優化方法

一、背景 在百度地圖、高德地圖上顯示Marker, 如果顯示數量很多時,滑動地圖會出現卡頓的現象。 根本原因是地圖是個耗內存的功能, 我們看到的地圖和marker都是Bitmap。 想想在手機屏幕上添加100個小的Bitmap和背

原创 ByPhoto-秒開的安卓圖片選擇庫

一、背景 ByPhoto是個安卓圖片選擇庫, 在啓動渲染速度上做了很多優化; 榮耀8真機測試,圖庫裏有3000多張圖片。 冷啓動圖片選擇頁渲染完成需800ms左右, 熱啓動(即第二次打開Activity)渲染需要300ms。 真正

原创 Long monitor contention with owner

安卓Activity在finish後出現黑屏, 大概率是因爲主線程卡死。 抓trace和logcat。 04-16 16:18:17.359 W/m.lianjia.beik(30714): Long monitor content

原创 Glide preload和into的區別

一、背景   貝殼2.6.0版本使用Glide preload方法替換了部分顯示圖片的方式, 在灰度期間發現控件顯示了錯誤的圖片或者崩潰問題。 Fatal Exception: java.lang.RuntimeException:Can

原创 Flutter開發Feed流筆記二

仿照貝殼找房app看點頁實現feed流功能。 UI使用了:tabbar+tabbarview+ListView http通訊:Dio json:json_serializable 下載刷新/加載更多:flutter_refresh

原创 HTTP302丟Session

安卓app在打開第一個H5頁面時app設置了Session, H5返回302跳轉到相同域下的另一個H5, 這時丟了Session。 public class MainActivity extends Activity { priv

原创 Arrays.asList的坑

問題: 直接原因: public void add(int index, E element) { throw new UnsupportedOperationException(); } 舉個例子:

原创 刪除TextView上下內邊距

原理參考: https://blog.csdn.net/harvic880925/article/details/50423762 通過自定義控件刪除上下內邊距, UI走查時就不用擔心間距不對了。 代碼: public class

原创 LeetCode esay集錦

1. Tow Sum 2. Add Two Numbers 3. Longest Substring Without Repeating Characters Two Sum https://leetcode.com/problem

原创 一個小Demo帶你理解安卓事件分發

   安卓事件分發是個老生常談的話題, 在ScrollView高度測量原理介紹Android View測量原理, 現在再用個實例講解事件分發原理。    本文要搞懂2個問題。 1、 事件是怎麼產生的? 2、事件是怎麼傳遞的?     手指

原创 貝殼找房FEED流曝光策略

摘要:目前貝殼找房的曝光策略邊界條件比較單一, 都是APP端寫死的邏輯;對標一線公司解決方案, 是由API下發每種卡片/Feed的門限條件, 從而得到更精準的數據。 一、背景 目前貝殼找房APP端的曝光時機是寫死的, 觸發條件:卡

原创 ScrollView高度測量原理

       在使用Lint掃描工程時,看到這個提示。 Google推薦將ScrollView的子View高度設置爲wrap_content,  但實際業務開發時可能根節點是LinearLayout(layout_height="matc