Android应用启动说起

本文将带您深入了解Android系统中LauncherActivity的工作原理,包括其在应用启动过程中的作用、与Binder和AIDL的交互方式,以及View绘制流程。通过分析LauncherActivity的源代码,我们将逐步揭开桌面应用程序启动和图标点击响应的神秘面纱。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前言:

读了很一些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图

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值