原创 高仿qq健康

概述 學習別人的代碼,在此基礎上 優化代碼結構 增加動畫 要點記錄 通過mRatio參數,讓寬高始終是一個比例 貝塞爾曲線手動畫矩形圓角 畫虛線 根據基準點繪製文字 屬性動畫的使用 畫筆寬度的自適應 源碼地址:源碼傳送門

原创 android動畫基礎之Animation

概述 最近總結一下android的一些東西,畢竟基礎不牢地動山搖。本篇主要涉及Animation,對Tween和Frame動畫做些總結。 Tween Tween動畫即補間動畫,主要主持4種效果,縮放、透明度變化、旋轉、平移,也可以

原创 屬性動畫基礎之ValueAnimator

概述 屬性動畫是谷歌在android3.0(API level 11)時候給我們帶來了屬性動畫,真正意義上帶來了”動畫“,以前的幀動畫也就4中效果的組合(旋轉、淡入淡出、放大縮小、平移),而且只是表面的動畫,最經典的比如,把一個b

原创 idleHandler

idleHandler 什麼是idleHandler Android是基於Looper消息循環的系統,我們通過Handler向Looper包含的MessageQueue投遞Message,在MessageQueue中我們可以看到這樣的一個

原创 支持手機和控制檯log的小工具-ZeusLog

0x00 解決問題 網絡請求查看比較麻煩,需要fiddler/charles代理,再格式化json。手機端可以像打印日誌一樣打印json格式化後的log ,其中【log內容區透傳操作,不影響操作app,側邊欄控制內容區過長的滑動

原创 Flutter 中的生命週期分析

本篇主要介紹Flutter中的相關生命週期 分爲 widget生命週期、app生命週期 Widget生命週期 flutter中widget主要分爲 StatelessWidget 和 StatefulWidget 兩種 二者

原创 Fragment的事務操作&Actvity的狀態丟失

Fragment Transactions & Activity State Loss 本文翻譯自Fragment Transactions & Activity State Loss, 下面所示的異常堆棧追蹤在Honeyco

原创 拆輪子之Fish動畫分析

概述 最近發現一個很好玩的動畫庫,純代碼實現的而不是通過圖片疊加唬人的,覺得很有意思看了下源碼https://github.com/dinuscxj/LoadingDrawable, 這個動畫效果使用drawable來實現,覺得很

原创 虛擬機類加載機制

類加載機制 虛擬機把描述類的數據從Class文件(一串二進制字節流)加載到內存,並對數據進行校驗、轉換解析和初始化,最終形成可以被虛擬機直接使用的Java類型,這就是java的類加載機制 加載時機 類從被加載到虛擬機內存到卸載出內

原创 深入理解JNI

JNI系列 JNI兩種註冊過程實戰 深入理解JNI 深入理解JNI 最近在學習android底層的一些東西,看了一些大神的博客,整體上有了一點把握,也產生了很多疑惑,於是再次把鄧大神的深入系列翻出來仔細看看,下面主要是一些閱讀筆記

原创 java反射

概述 在android中很多開源框架都用到了反射,比如eventbus等,掌握好反射對以後進行更深層的開發是大有好處的。 Java反射機制主要提供了以下功能: 在運行時判斷任意一個對象所屬的類; 在運行時構造任意一個類的對象;

原创 拆解輪子之XRecyclerView

簡介 這個輪子是對RecyclerView的封裝,主要完成了下拉刷新、上拉加載更多、RecyclerView頭部。在我的Material Design學習項目中使用到了項目地址,感覺還不錯。趁着畢業答辯還有2個星期,先把這個輪子拆

原创 canvas的常見用法

Canvas canvas是一種抽象概念,是2D圖形系統中的重要部分,canvas一系列函數最終都是android 2D圖形庫Skia的一些列封裝,對應在SKCanvas.cpp。canvas在系統中的位置如下圖所示 可以將ca

原创 認識Zygote

概述 在java中不同的虛擬機實例會爲不同的應用分配不同內存,爲了使Android系統儘快啓動,使用了Zygote來預加載核心類庫和一些加載時間長的類(超過1250ms),讓Dalvik虛擬機共享代碼,降低佔用內存和啓動時間。

原创 Flutter UI渲染分析

1、前言 本篇文章主要介紹Flutter 渲染框架及其渲染過程 Flutter是谷歌的移動UI框架,在此之前也有類似ReactNative、Weex等跨端方案,Flutter在一定程度上借鑑了ReactNative的思想,採用