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