最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android onCreate( )方法詳細介紹

 更新時間:2016年09月06日 15:59:26   投稿:lqh  
本文主要介紹Android onCreate( )方法,做Android應(yīng)用的朋友對onCreate()的方法并不陌生,在開發(fā)應(yīng)用的時候大家應(yīng)該注意什么呢,這里給大家詳細說明

onCreate( )方法是android應(yīng)用程序中最常見的方法之一,那么,我們在使用onCreate()方法的時候應(yīng)該注意哪些問題呢?

    先看看Google Android Developers官網(wǎng)上的解釋:

    onCreate(Bundle) is where you initialize your activity. Most importantly, here you will usually call setContentView(int) with a layout resource defining your UI, and using findViewById(int) to retrieve the widgets in that UI that you need to interact with programmatically.         

   Called when the activity is starting. This is where most initialization should go: calling setContentView(int) to inflate the activity‘s UI, using findViewById(int) to programmatically interact with widgets in the UI, calling managedQuery(android.net.Uri, String[], String, String[], String) to retrieve cursors for data being displayed, etc.

   You can call finish() from within this function, in which case onDestroy() will be immediately called without any of the rest of the activity lifecycle (onStart(),onResume(), onPause(), etc) executing.

   Derived classes must call through to the super class‘s implementation of this method. If they do not, an exception will be thrown.

   翻譯過來就是說,onCreate()函數(shù)是在activity初始化的時候調(diào)用的,通常情況下,我們需要在onCreate()中調(diào)用setContentView(int)函數(shù)填充屏幕的UI,一般通過findViewById(int)返回xml中定義的視圖或組件的ID。子類在重寫onCreate()方法的時候必須調(diào)用父類的onCreate()方法,即super.onCreate(),否則會拋出異常。

   但是,我們必須要注意的是,在onCreate()函數(shù)里我們需要配置一些必要的信息,但是并不是所有的事情都能在這里做。我們知道,一個activity啟動調(diào)用的第一個函數(shù)就是onCreate,它主要做這個activity啟動時一些必要的初始化工作,這個函數(shù)調(diào)用完后,這個activity并不是說就已經(jīng)啟動了,或者是跳到前臺了。而是還需要其他的大量工作,我們知道:onCreate之后還有onRestart()和onStart()等,實際上onStart()調(diào)用完畢了這個activity還沒有完全啟動,也只是前臺可見,直到 onResume() 調(diào)用后這個onCreate才算終于啟動。既然這樣,那么在一個activity真正啟動之前任何相當耗時的動作都會導(dǎo)致activity啟動緩慢,特別是在onCreate里面耗時長的話可能導(dǎo)致極差的用戶體驗。

   下面來看一個例子:

protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
   
  super.onCreate(savedInstanceState);
  this.requestWindowFeature(Window.FEATURE_NO_TITLE);
  mContext = this;
  setContentView(R.layout.main);
  dataLoad = new DataLoading();
  mScrollLayout = (ScrollLayout)findViewById(R.id.ScrollLayoutTest);
  btnExit = (ImageButton)findViewById(R.id.btn_exit);
  btnExit.setOnClickListener(btnExitClickListener);
  btnContacts = (ImageButton)findViewById(R.id.btn_contacts);
  btnContacts.setOnClickListener(btnContactsClickListener);
   
  mSpeedDailDataMgr = new SpeedDailMgr(this);
  loadGripView();
 
  //in MTK    
    //mCallOptionHandler = new CallOptionHandler(this);
    mCallOptionHandler = new ContactsCallOptionHandler(this,
        new ContactsCallOptionHandlerFactory());    
  //don't consider getting no data, ex: when starting up
  updateEnabledCard();
 
}

     這是一個APP的一個Activity的onCreate的寫法。其實這段代碼沒有什么問題,而且看起來也是比較簡單的代碼。不過里面大量危險的代碼段:不管是dataLoad = new DataLoading(); 還是 mSpeedDailDataMgr = new SpeedDailMgr(this);更或者是loadGripView();甚至updateEnabledCard();這么危險的處理都是不應(yīng)該在這里來處理的。這里包含了加載數(shù)據(jù)庫數(shù)據(jù)、讀取文件信息、讀取SIM卡信息,這些操作都是有可能拋出異常的,而且其操作耗時也是不確定的!對于面對這樣問題,我覺得應(yīng)該注意下面幾個方面:

(1)在Activity啟動前,盡量少做。

(2)對于布局比較復(fù)雜的時候,可以考慮不要一次性全部加載上,動態(tài)加載是一個好的辦法。

(3)對于及時需要的數(shù)據(jù),加載起來耗時的又有異常危險的,一定記得開辟一個線程來做這些動作,千萬記得不要做阻塞主線程(UI線程)的任何事情。

(4)對于特殊情況下,Activity啟動確實需要大量工作時候,可以考慮先加載一個簡單的布局(或是Activity)來過渡.。

(5)所有的目的都是讓你要啟動的組件盡快上場,而不是以畫好妝為主,這樣的話客人會等不及的,顧客就是上帝。

以上就是對Android OnCreate()方法的詳細介紹,后續(xù)繼續(xù)補充相關(guān)知識,謝謝大家對本站的支持!

相關(guān)文章

  • VideoView實現(xiàn)視頻無縫連續(xù)播放

    VideoView實現(xiàn)視頻無縫連續(xù)播放

    這篇文章主要為大家詳細介紹了VideoView實現(xiàn)視頻無縫連續(xù)播放,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Android 中Crash時如何獲取異常信息詳解及實例

    Android 中Crash時如何獲取異常信息詳解及實例

    這篇文章主要介紹了Android 中Crash時如何獲取異常信息詳解及實例的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Android實現(xiàn)紙飛機的簡單操作

    Android實現(xiàn)紙飛機的簡單操作

    這篇文章主要為大家詳細介紹了Android實現(xiàn)紙飛機的簡單操作,類似于漂流瓶功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Android基于名稱、修改時間、大小實現(xiàn)文件夾排序

    Android基于名稱、修改時間、大小實現(xiàn)文件夾排序

    這篇文章主要為大家詳細介紹了Android基于名稱、修改時間、大小實現(xiàn)文件夾排序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • AndroidImageSlider實現(xiàn)炫酷輪播廣告效果

    AndroidImageSlider實現(xiàn)炫酷輪播廣告效果

    這篇文章主要為大家詳細介紹了AndroidImageSlider實現(xiàn)炫酷輪播廣告效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Android利用RecyclerView實現(xiàn)全選、置頂和拖拽功能示例

    Android利用RecyclerView實現(xiàn)全選、置頂和拖拽功能示例

    列表控件可以說是我們絕大部分App中都會使用的,為了提升交互樂趣,我們經(jīng)常需要在列表中加入置頂、拖拽等操作,下面這篇文章主要介紹了Android利用RecyclerView如何實現(xiàn)全選、置頂和拖拽功能的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-04-04
  • Android仿QQ聊天撒花特效 很真實

    Android仿QQ聊天撒花特效 很真實

    本文寫的這個特效,是關(guān)于聊天的,你肯定遇到過,就是你跟人家聊天的時候,比如發(fā)送應(yīng)(么么噠),然后屏幕上全部就是表情了,今天我們就是做這個,撒花的特效,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Android BottomNavigationView底部導(dǎo)航效果

    Android BottomNavigationView底部導(dǎo)航效果

    這篇文章主要為大家詳細介紹了Android BottomNavigationView底部導(dǎo)航效果的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Android實現(xiàn)系統(tǒng)打印功能

    Android實現(xiàn)系統(tǒng)打印功能

    這篇文章主要為大家詳細介紹了Android實現(xiàn)系統(tǒng)打印功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Kotlin Job啟動流程源碼層深入分析

    Kotlin Job啟動流程源碼層深入分析

    如果要我拿現(xiàn)實中的一事物與Kotlin協(xié)程中的Job做一個類比,那么我會把Job比作成海洋中的冰山。自由漂浮的冰山約有90%體積沉在海水表面下,因此看著浮在水面上的形狀并猜不出水下的形狀
    2022-11-11

最新評論

屯门区| 哈巴河县| 罗城| 南投县| 余江县| 琼中| 万全县| 达日县| 长宁区| 太原市| 石河子市| 葫芦岛市| 二手房| 虎林市| 九江县| 大邑县| 从江县| 金塔县| 惠来县| 兰考县| 彭山县| 原阳县| 浪卡子县| 贡觉县| 凤台县| 崇左市| 休宁县| 清苑县| 南平市| 峨山| 平邑县| 长武县| 贵州省| 敦煌市| 玛纳斯县| 葵青区| 白银市| 文安县| 和硕县| 鄯善县| 古蔺县|