国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

android經典地方

2019-11-09 17:35:37
字體:
來源:轉載
供稿:網友

1. mplicit intent,Android默認給加上一個CATEGORY_DEFAULT,所以,如果你的 activity支持接收implicit intent的話就一定要在intent filter中加入android.intent.category.DEFAULT。

action--要求intent中的action必須能夠過濾規則中的某一個相同   (mplicit intent必須設置action)

category--要求intent中的所有category都和過濾規則中的一個category相同

data--intent中的data和過濾規則中的data完全一樣

所以說(action和category過濾規則基本上一樣):

2.

Android橫豎屏幕切換時注意4.0以上配置configChanges要加上screenSize,要不還會調用onCreate

<activity android:name=".MainActivity" android:configChanges="orientation|keyboardHidden|screenSize"/> 3.

  ContentObserver——內容觀察者,目的是觀察(捕捉)特定Uri引起的數據庫的變化,繼而做一些相應的處理,它類似于

   數據庫技術中的觸發器(Trigger),當ContentObserver所觀察的Uri發生變化時,便會觸發它。觸發器分為表觸發器、行觸發器,

  相應地ContentObserver也分為“表“ContentObserver、“行”ContentObserver,當然這是與它所監聽的Uri MIME Type有關的。

每個ContentPRovider數據源發生改變后,如果想通知其監聽對象, 例如ContentObserver時,必須在其對應方法 update / 

  insert / delete時,顯示的調用this.getContentReslover().notifychange(uri , null)方法,回調監聽處理邏輯。否則,我們

  的ContentObserver是不會監聽到數據發生改變的。 具體原理,大家可以參考老羅的這篇文章:

                     《Android應用程序組件Content Provider的共享數據更新通知機制分析》 

注意:contentprovider的query,update,insert,delete四大方法是存在多線程并發訪問的,注意同步問題。

結: 使用ContentObserver的情況主要有一下兩者情況:

              1)需要頻繁檢測的數據庫或者某個數據是否發生改變,如果使用線程去操作,很不經濟而且很耗時 ;

              2)在用戶不知曉的情況下對數據庫做一些事件,比如:悄悄發送信息、拒絕接受短信黑名單等;

4. 速度  空間,界面優化

速度:因為ondraw方法可能會被頻繁調用,ondraw中不要創建新的局部對象;不要做耗時任務; 緩存 ;

(速度優化核心思想是避免在主線程中耗時事操作,線程優化的核心思想是采用線程池,重用線程)

界面:include,merge,viewstub

空間:0)listview bitmap優化 1)只有當任務正在執行的時候才應該讓Service運行起來。另外,當任務執行完之后去停止Service的時候,要小心Service停止失敗導致內存泄漏的情況。2)OnTrimMemory是Android 4.0之后提供的API,系統會根據不同的內存狀態來回調。根據不同的內存狀態,來響應不同的內存釋放策略。監聽TRIM_MEMORY_UI_HIDDEN這個級別,一旦觸發了之后就說明用戶已經離開了我們的程序,那么此時就可以進行資源釋放操作了。

5.圖片加載、緩存策略、列表的滑動流暢性。

Lru Least Recently Used 最近最少使用算法。

6. 坐標體系 left, x ,rawX, translationX , ScrollX

left =控件左上角在父容器中橫坐標的像素值

x 是View左上角相對于父容器的坐標值

rawX--是View左上角相對于手機屏幕左上角。

translationX,存在平移過程,控件在x軸上偏移的像素值.默認值是0

ScrollX--scrollX是view的內容移動的距離,也就是說調用了view的scrollTo或scrollBy方法,view本身不會移動,只會移動view的內容。

             scrollX是相對于View中位置移動,內容在View中移動了,scrollX才會變,移動view不回引起ScrollX的改變  

7 scrollto和scrollby (方向向右/下為負,方向向左/上為正)

相同的地方:移動的都是這個方法調用者View的內容,而不是移動view.

不同的地方:scrollTo()方法是讓View的內容相對于初始的位置滾動某段距離,無論怎么樣移動(scrollto或scrollby)多少次,View的初始位置是不變的.

而scrollBy()方法則是讓view的內容相對于當前的位置滾動某段距離。ScrollX也是無論移動多少次,都是相對與初始位置的值(默認情況下scrollX  scrolly==0)

setTranslationX


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 康平县| 洞口县| 行唐县| 喜德县| 德令哈市| 滨州市| 射阳县| 靖州| 大方县| 塔城市| 舟山市| 德庆县| 浪卡子县| 哈密市| 南开区| 靖远县| 琼中| 宣化县| 大渡口区| 上林县| 新泰市| 根河市| 泌阳县| 城固县| 海伦市| 揭西县| 大余县| 视频| 微山县| 揭西县| 海阳市| 洪江市| 荥经县| 称多县| 叶城县| 巴塘县| 金塔县| 乌拉特前旗| 田林县| 新营市| 武川县|