Android基础
文章平均质量分 93
黄二小二
这个作者很懒,什么都没留下…
展开
-
Activity在不同场景以及四种启动模式下的生命周期变化
最近面试问到了一些生命周期的问题。之前在项目里也会遇到对生命周期认识不全,而导致的bug。找了个时间写了个demo验证了一下,因此这里对几种情况做一下总结。原创 2022-09-23 12:11:44 · 1019 阅读 · 1 评论 -
读书简记6-《Android开发艺术探索》第十三至十五章
宿主和插件的概念:宿主是指普通的apk,而插件一般是指经过处理的dex或者apk,在主流的插件化框架中多采用经过特殊处理的apk来作为插件,处理方式往往和编译以及打包环节有关,另外很多插件化框架都需要用到代理Activity的概念,插件Activity的启动大多数是借助一个代理Activity来实现的。动态加载技术(也叫插件化技术)在技术驱动型的公司中扮演着相当重要的角色,当项目越来越庞大的时候,需要通过插件化来减轻应用的内存和CPU占用,还可以实现热插拔,即在不发布新版本的情况下更新某些模块。...原创 2022-08-16 15:50:04 · 153 阅读 · 0 评论 -
读书简记5-《Android开发艺术探索》第十至第十二章
1.消息机制简述Android的消息机制主要是指Handler的运行机制,Handler的运行需要底层的MessageQueue和Looper的支撑。MessageQueue的中文翻译是消息队列,顾名思义,它的内部存储了一组消息,以队列的形式对外提供插入和删除的工作。虽然叫消息队列,但是它的内部存储结构并不是真正的队列,而是采用单链表的数据结构来存储消息列表。Looper的中文翻译为循环,在这里可以理解为消息循环。...原创 2022-08-16 15:48:06 · 744 阅读 · 0 评论 -
读书简记4-《Android开发艺术探索》第八、第九章
Toast的显示和影响过程实际上是通过Toast中的TN这个类来实现的,它有两个方法show和hide,分别对应Toast的显示和隐藏。由于这两个方法是被NMS以跨进程的方式调用的,因此它们运行在Binder线程池中。为了将执行环境切换到Toast请求所在的线程,在它们的内部使用了Handler。mShow和mHide是两个Runnable,它们内部分别调用了handleShow和handleHide方法。由此可见,handleShow和handleHide才是真正完成显示和隐藏Toast的地方。...原创 2022-08-16 15:46:08 · 690 阅读 · 0 评论 -
读书简记3-《Android开发艺术探索》第六、第七章
1.drawable概念Drawable有很多种,它们都表示一种图像的概念,但是它们又不全是图片,通过颜色也可以构造出各式各样的图像的效果。在实际开发中,Drawable常被用来作为View的背景使用。Drawable一般都是通过XML来定义的,当然我们也可以通过代码来创建具体的Drawable对象。在Android的设计中,Drawable是一个抽象类,它是所有Drawable对象的基类,每个具体的Drawable都是它的子类,比如ShapeDrawable、BitmapDrawabl。...原创 2022-08-14 11:06:15 · 171 阅读 · 0 评论 -
读书简记2-《Android开发艺术探索》 第三、四、五章
1.自定义View的种类继承View重写onDraw方法这种方法主要用于实现一些不规则的效果,即这种效果不方便通过布局的组合方式来达到,往往需要静态或者动态地显示一些不规则的图形。很显然这需要通过绘制的方式来实现,即重写onDraw方法。采用这种方式需要自己支持wrap_content,并且padding也需要自己处理。继承ViewGroup派生特殊的Layout继承特定的View(比如TextView)继承特定的ViewGroup(比如LinearLayout)2.自定义View的相关知识。...原创 2022-08-10 10:26:12 · 217 阅读 · 0 评论 -
读书简记1-《Android开发艺术探索》第一及第二章
1.什么是IPC?IPC是Inter-Process Communication的缩写,含义为进程间通信或者跨进程通信,是指两个进程之间进行数据交换的过程。任何一个操作系统都需要有相应的IPC机制,Windows上可以通过剪贴板、管道和邮槽等来进行进程间通信;Linux上可以通过命名管道、共享内容、信号量等来进行进程间通信在Android中最有特色的进程间通信方式就是Binder了,通过Binder可以轻松地实现进程间通信。...原创 2022-08-05 14:25:45 · 679 阅读 · 0 评论 -
Android基础(1) -SQLite
SQL-LiteSQLiteOpenHelper: 帮助我们创建数据库和管理数据库版本的抽象类。此外,根据官方文档的描述“此类使 android.content.ContentProvider 实现可以轻松地将数据库的打开和升级推迟到第一次使用,以避免因长时间运行的数据库升级而阻塞应用程序启动。”SQLiteDatabase: 可以认为是我们要操作的数据库的实体类,增删改查均需要通过此类的实例来调用相关的参数来完成。。Cursor:官方注释:此接口提供对数据库查询返回的结果集的随机读写访问,简单原创 2022-02-24 23:29:48 · 1941 阅读 · 0 评论