原创 Groovy的語法入門

簡單地說,Groovy 是下一代的Java語言,跟java一樣,它也運行在 JVM 中。 作爲跑在JVM中的另一種語言,groovy語法與 Java 語言的語法很相似。同時,Groovy 拋棄了java煩瑣的語法。 聲明

原创 Android 中Jni與Java運算性能比較

完整demo地址 https://github.com/yangtianrui95/JniPerformance JniPerformance Jni performance test Using dense floa

原创 Js實現貪喫蛇遊戲

使用Js面向對象的思想設計了一個貪喫蛇遊戲,算是對Js面向對象的總結吧. 地圖設計 地圖繪製直接使用js繪製div區域,然後填充背景即可. /** * 遊戲地圖 * @constructor */ function M

原创 [Android] 智能指針sp與wp

智能指針sp與wp 在AOSP中,Google實現了一套特有的智能指針系統,用來方便C++工程中的內存管理。內存釋放是C++工程中非常難處理的一部分,爲此一些C++工程都會有自己的智能指針系統,C++11的std中也提供了auto

原创 Js實現貪吃蛇遊戲

使用Js面向對象的思想設計了一個貪吃蛇遊戲,算是對Js面向對象的總結吧. 地圖設計 地圖繪製直接使用js繪製div區域,然後填充背景即可. /** * 遊戲地圖 * @constructor */ function M

原创 [Android] 使用Gradle Plugin實現自動化屏幕適配

屏幕適配的必要性 處理虛擬尺寸和設計稿之間的比例,如設計稿爲375 x 667,我們需要將這個尺寸縮放到我們的虛擬尺寸上。 處理個別手機虛擬尺寸不同的問題,讓虛擬尺寸不同的手機顯示相同的視覺效果。 何爲虛擬尺寸 我們採用And

原创 Retrofit源碼分析--Retrofit動態代理與CallAdapter的實現

目前打算選用Retrofit2+RxJava2作爲網絡請求框架,下面從源碼角度分析下這兩個框架是怎麼粘合在一起的。 看完本文,你將會看到: - 動態代理模式在Retrofit中的運用。 - 抽象工廠模式在Retrofit中

原创 [Android] ConstaintLayout性能分析

Android ConstaintLayout性能分析 最近項目上大規模使用了ConstrainLayout,於是對性能進行一定的分析, 以及介紹一些使用心得。 性能分析 與RelativeLayout對比,基於Hierarc

原创 AOSP源碼編譯 --全部編譯

最近一直在學習Android系統源碼,當然搭建編譯環境是第一步,我也是折騰了好久,個人覺得這個在學習Android過程中有里程碑意義的,因爲以後過程中,自己的一些想法就能動手實現了。 下載Android源碼 如果是MAC OS

原创 C 中 getopt_long()用法

在C程序中,getopt_long()支持長選項的命令行解析,是C程序在命令場景下的必須掌握函數之一. 函數原型如下: #include <getopt.h> int getopt_long(int argc, char *

原创 git 交互式rebase

交互式的rebase的場景在分支開發時特別有用, 可以減少沒有必要的提交 git rebase -i -i 參數表示互動 interactive,這時 git 會使用你設定的編輯器,讓你對 git 歷史記錄做詳細修改。 下面以

原创 Linux 平臺下JNI的使用

本文簡單介紹下Linux平臺下JNI開發環境的搭建 聲明一個native方法 public static native void helloJni(); 使用javah 工具生成C/C++ .h文件 先 cd到當前的src目

原创 ButterKnife的使用

使用ButterKnife可以直接對View進行綁定,簡化我們項目中的代碼量. 參考:http://jakewharton.github.io/butterknife/ @BindView的使用View的綁定 @Bind

原创 Linux 查看當前登錄用戶

w 查看當前系統信息和用戶登錄信息 root@iZwz7ebvlaZ:~# w # 第一行,系統當前運行的基本信息 # 時間 | 距離上次重新啓動的時間 | 上次啓動時間 | 當前在線用戶數 | 系統負載程度,接近0表示負載越低

原创 Android 常用技巧

轉自: https://github.com/cctanfujun/android-tips-tricks-cn android-tips-tricks-cn 一些很不錯的Android開發技巧,這個項目翻譯自 android