Android应用启动说起

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/donghejk/article/details/84000430

一、前言:

读了很一些Androi源码,始终无法把这些知识串起来。今天准起航了,从应用启动开始,一点一点看下去,可能会经历一个漫长的时间,但无论如何都要坚持。

二、都会涉及哪些知识点

目前来说一定会涉及以下知识点:

  • Launcher
  • Binder、AIDL
  • View绘制流程

推荐几个看源码的方式:

Launcher是个app,手机的桌面就是它的Activity,那桌面上的图标就是他的View了,那我们点击它的View就在LauncherActivity中进行处理了,好了接下来咱们一起看LauncherActivity。

/**
   LauncherActivity功能
 * Displays a list of all activities which can be performed
 * for a given intent. Launches when clicked.
 *
 */
public abstract class LauncherActivity extends ListActivity {
    Intent mIntent;
    PackageManager mPackageManager;
    IconResizer mIconResizer;

接下来我们找到它的点击事件的处理,看到startActivity后我们还要看它的下一步调用

@Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        Intent intent = intentForPosition(position);
        startActivity(intent);
    }

为了更清晰省略一些没必要的调用我贴上UML图

猜你喜欢

转载自blog.csdn.net/donghejk/article/details/84000430