原创 Android 更改view的index

之前app同事遇到一個問題,需要修改viewgroup中view的節點位置。給提供了一個方法,其實很多時候,這種方法在源碼中都能找到的。view樹中,都是有節點的,有相應的序號。可能特定需求下,需要動態變更,如何更改呢?private v

原创 如何實現Fragment的滑動

基礎吧,和viewpager綁定一下,就可以滑動了。因爲viewpager裏面處理了touch事件,會進行move事件的滑動處理。看下例子:github地址點擊打開鏈接  (https://github.com/shixin398/Fra

原创 java 反射 method invoke 變長參數

看下,反射中可能遇到的一個問題:一個類,專門用來進行測試反射相關code:public class InvokeClass { private final static String TAG = "InvokeClassDemo

原创 ubuntu下反編譯教程 apktool,smali,dex2jar,jd-gui

本文講解下反編譯三個工具的安裝及使用,附件java得安裝(apktool需要java環境)。   一、java安裝(java8爲例) 以下四部(參考問題解決方法),順序來,下載過程會比較慢,耐心等待: sudo apt-get ins

原创 onWindowFocusChanged 調用時機

切記:此函數只有在focus爲true的時候回調一下app的方法,false的時候不會回調。所以不要通過true/false來做區別處理。 一、問題: 最近看到google原聲的app中在onWindowFoucusChanged的

原创 Android 佈局優化--viewstub標籤

性能優化之一就是layout的優化,as 常識:佈局是否合理主要影響的是頁面測量時間的多少,我們知道一個頁面的顯示測量和繪製過程都是通過遞歸來完成的,多叉樹遍歷的時間與樹的高度h有關,其時間複雜度 O(h),如果層級太深,每增加一層則會增

原创 Android 佈局優化--merge標籤

性能優化之一就是layout的優化,as 常識:佈局是否合理主要影響的是頁面測量時間的多少,我們知道一個頁面的顯示測量和繪製過程都是通過遞歸來完成的,多叉樹遍歷的時間與樹的高度h有關,其時間複雜度 O(h),如果層級太深,每增加一層則會增

原创 線程--線程池篇

java 關於線程池的簡單使用及注意點。先來看下線程池的原理圖吧,來了runnable請求,進行線程的創建,到coresize之後,會進行緩存(workqueue),當緩存已滿,但最大線程數爲到達的時候,會接着創建新的線程執行runnab

原创 C++debug 打印調用棧

#include <utils/CallStack.h> void __egl_get_backtrace(void) { ALOGD("%s start", __func__); android::CallStack stack

原创 volatile

看到一張好圖,忍不住。(首先你對volatile有一定認識,然後在看下面)原理性理解volatile的使用限制條件:1.對變量的寫操作不依賴於當前值。 2.該變量沒有包含在具有其他變量的不變式中。2這點還沒有理解,大咖有了解幫忙解釋下。1

原创 鼠標如何在移動的時候根據當前控件變換形狀

手機鏈接藍牙鼠標後,可以用鼠標操作手機,當鼠標移動到某控件後,它的形狀可能從箭頭變爲小手(文本鏈接等)。 辣麼google,如何實現的呢? 一、先來看看圖片: 有好多鼠標的圖片。目錄隨意一個存儲圖片的目錄即可,例如:8trunk/fra