原创 MQTT 學習總結
阿里雲MQTT構建流程 https://help.aliyun.com/document_detail/44867.html?spm=5176.MQTT.0.0.40716245clcRt0 兩種收費模式: 包年包月 適合企業級
原创 Bitmap相關類
public Bitmap extractAlpha() 生成只提取了原圖的alpha通道的新圖,也就是說新的bitmap只有alpha值,rgb值爲0。這個函數的作用是獲取原圖的輪廓,然後可以填充rgb值。因此可以實現陰影,影子,光暈等
原创 JNI第一天 JNI基本數據類型
一、JNI基本數據類型字符對應 "()V" "(II)V" "(Ljava/lang/String;Ljava/lang/String;)V" ()中的字符表示參數,後面的則代表返回值 "()V"就代表 void fun
原创 ProGuard的作用--使用以及如何進行bug分析
ProGuard作用 ProGuard通過刪除無用代碼,將代碼中類名、方法名、屬性名用晦澀難懂的名稱重命名從而達到代碼混淆、壓縮和優化的功能,跟JavaScript的混淆壓縮類似。壓縮和優化使得編譯後apk包更小。混淆可以保證代碼在被反編
原创 Android UI管理系統的層級關係和UI繪製流程
主要說下視圖的繪製,不關注啓動流程。 一個應用啓動,首先會啓動一個主Activity,然後開始加載視圖進行繪製。而繪製會從跟視圖ViewRootImpl.java 的performTraversals()方法開始,從上到下遍歷整個視圖樹
原创 Android 系統架構學習
1).系統運行層庫分爲兩部分,分別是C/C++程序庫和Android運行時庫。 2).運行時庫分爲核心庫和ART(Android 5.0 系統之後,Dalvik虛擬機被ART取代)。核心庫提供了JAVA語言核心庫的大多數功能。
原创 ANR的定位和分析
在實際開發中,我們有可能會遇到ANR異常,所謂ANR 即 Application Not Response.應用程序無響應。 ANR異常一般在我們操作按鈕或者卡頓超過一定時間(5秒)的時候就會出現。 ANR的主要出現的原因是我們在主線程
原创 JNI學習第八天(一) Java和native相互調用
前幾天我們學習了c的基礎知識和jni的一些基本數據類型的對應關係。接下來幾天開始進如JNI的練習。 學習之前我們要先來弄懂要學什麼? 接下來分析下: 一、java調用c 二、c調用java 三、自己編寫c的內容。 我們前期先主要圍繞前兩種
原创 JNI學習第八天(二)Java和native相互調用
接下來我們來看下Android怎麼調用jni(Java Native Interface) static { System.loadLibrary("native-lib"); } public native String s
原创 JNI學習第二天
C++打印 int i=100; double d=200; float f=200; long l=100; short s=200; char c='D'; printf("
原创 JNI學習第四天
數組的操作 int array[]={1,2,34,5,44}; printf("\narray的值是:%p\n",array); printf("\narray&的值是:%p\n",&array); pr
原创 JNI學習第五天
1、編寫基礎方法 void add(int num1,int num2){ printf("num1+num2=%d\n",(num1+num2)); } void minusss(int num1,int num2){
原创 JNI學習第八天(三)Java和native相互調用
這一篇主要是native調用java native想要調用java首先我們要知道調用的誰? 這一章我們先來學習調用方法來自調用者本身的。 我們這次測試的是通過native層調用getName()方法 接下來是native層方法。 我
原创 JNI學習第三天
通過指針修改值 int m=100; int *p=&m; m=200; printf("\nm的值是:%d",m); *p=500; printf("\nm的值是:%d\n",m);
原创 JNI學習第六天
內存申請 int num=4; int* array=(int*)malloc(sizeof(int)*num); //int array[4]; int i=0; for (; i<num; i++) { array[i