原创 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