Android 的生命周期基础知识

来源:互联网 发布:中国最大论坛 知乎 编辑:程序博客网 时间:2024/05/18 15:07

   First Day:

第一天接触到Android便感到很有趣,不知道小伙伴你们怎么觉得,但不得不说它和Java的思想还是有蛮大的区别的,今天就向大家简单介绍一下Android的生命周期,希望能帮助到和我一样刚刚接触Android的道友。

下面就是整个生命周期流程图:

 


      * 注明:第一个Activity表示的是called,第二个Activity表示的是called1

      *我是用真机进行测试的

1.在你刚刚启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。


2.在你打开另一个 Activity覆盖之前的Activity:第一个Activity先调用onPause,进行跳转,接着第二个先调用onCreak,然后在调用onStart,然后调用onResume,完成跳转后,最后调用第一个onStop。

3.从第二个Activity中返回到第一个Activity:与第二个过程相反。

4.暂时性退出第一个Activity: 先调用onPause,在调用onStop。

 5.将Activity彻底的退出:直接调用onDestory。

下面是代码提供参考,第一个Activity代码:

<pre name="code" class="cpp">
</pre><pre name="code" class="sql"><pre name="code" class="java">public static class PlaceholderFragment extends Fragment {public PlaceholderFragment() {}public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {System.out.println("onCreate called");View rootView = inflater.inflate(R.layout.fragment_main, container,false);final EditText ed2=(EditText)rootView.findViewById(R.id.login_user);final EditText ed1=(EditText)rootView.findViewById(R.id.login_pwd);Button login_button=(Button)rootView.findViewById(R.id.login_button);login_button.setOnClickListener(new OnClickListener(){public void onClick(View v) {String user=ed2.getText().toString();String pwd=ed1.getText().toString();if("1".equals(user)&&"1".equals(pwd)){Intent intent = new Intent(getActivity(),MainActivity1.class);getActivity().startActivity(intent);}else{Toast.makeText(getActivity(), "你输入的账号/密码有误!!", Toast.LENGTH_SHORT).show();}}});return rootView;}//Activity创建或者从后台重新回到前台时被调用public void onStart(){super.onStart();System.out.println("onStart called");}//Activity创建或者从被覆盖、后台重新回到前台时被调用public void onResume(){super.onResume();System.out.println("onResume called");}//Activity被覆盖到下面或者锁屏时被调用public void onPause(){super.onPause();System.out.println("onPause called");}//退出当前Activity或者跳转到新Activity时被调用public void onStop(){super.onStop();System.out.println("onStop called");}//退出当前Activity时被调用,调用之后Activity就结束了public void onDestroy(){super.onDestroy();









    注意:模拟器与真机差别很大,为了方便测试软件,建议大家连接真机来进行。


  自己也是刚刚学习的,要是有不足的地方请指教出,彼此共同提出自己的见解,谢谢!

1 0