Android
非著名老罗
曾任职知名芯片公司,互联网领军企业,精通Android系统及应用开发。
展开
-
[Android] [ Android启动流程 ] [ 下 ] [ Zygote、SystemServer及应用进程、主线程的启动]
init进程中解析init.rc,启动zygote服务进程Zygote进程是Android和Java世界的开创者。 在Android系统中,所有的应用进程和SystemServer进程都是由Zygote进程fork而来。 Zygote进程相当于Android系统的根进程,但是事实上它也是由Linux系统的init进程启动的。 各个进程的先后顺序为: init进程 –-> Zygo...原创 2018-08-31 20:08:14 · 273 阅读 · 0 评论 -
[Android][Framework][智能指针]
智能指针简介智能指针是c++ 中的一个概念,因为c++ 本身不具备垃圾回收机制,而且指针也不具备构造函数和析构函数,所以为了实现内存( 动态存储区) 的安全回收,必须对指针进行一层封装,而这个封装就是智能指针,c++的智能指针有很多实现方式,有auto_ptr , unique_ptr , shared_ptr 三种,还有其他的。android 中的sp 句柄类实际上就是google 实现...原创 2019-05-06 21:13:12 · 264 阅读 · 1 评论 -
[软件架构] [MVVM模式]
一、从MVC到MVP到MVVMMVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。这种模式跟经典的MVP(Model-View-Presenter)模式很相似,除了你需要一个为View量身定制的model,这个model就是ViewModel。ViewModel包含所有...原创 2019-04-14 18:08:35 · 448 阅读 · 0 评论 -
[软件架构] [MVP模式] [MVP与MVC模式的区别]
一、MVP架构模式介绍简称:MVP全称:Model-View-PresenterMVP中的M代表Model,即数据层,V代表View,即界面层,P代表Presenter,负责关联Model和View,把Model层的数据显示到View。MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显...原创 2019-04-14 17:19:15 · 1268 阅读 · 0 评论 -
[Android] [Android的视窗系统及显示机制][上]
概述一个大型嵌入式系统的视窗显示机制,通常包括两部分,窗口管理子系统、底层显示子系统,应用程序则是基于此之上,调用相关接口进行显示,并接受窗口管理。Android当中,特有的应用组件模型、系统服务模型的设计,让这两块系统看似(就是)错踪复杂,通过大量的梳理之后,依然可以清晰地看到这两个子系统的设计。还记得FrameWork那张大的架构图吗? 这里给出了清晰的视窗显示系统架构,明晰了应用程序与...原创 2019-04-03 12:27:59 · 589 阅读 · 0 评论 -
[Java] [ Android ] [ JNI ] [ 局部引用、全局引用、弱全局引用 ] [ NewObject等、NewGlobalRef、NewWeakGlobalRef ]
1、局部引用,NewObject等众多接口返回的引用下例以FindClass返回的引用,存储于全局变量中,或静态变量中。 第一次运行,创建,正常, 第二次之后,使用存储于全局变量的引用去操作,结果报异常#include <jni.h>#include <string>//// Created by luohy on 2018/9/4.///* Th...原创 2018-09-04 17:32:33 · 3501 阅读 · 0 评论 -
[Android] [Android的视窗系统及显示机制][下] [底层显示子系统Surface与SurfaceFlinger]
目录一、Surface绘制的精简流程二、深入分析Surface与SurfaceFlinger2.1 Surface2.1.1 与Surface相关的基础知识介绍一、Surface绘制的精简流程二、深入分析Surface与SurfaceFlinger2.1 Surface2.1.1 与Surface相关的基础知识介绍显示层(Layer)和屏幕组成图8-10 屏幕组成示意...原创 2019-04-11 16:10:08 · 1016 阅读 · 0 评论 -
[Android][应用架构] [手机淘宝的架构演进-总结]
手机淘宝的架构演进-总结架构需求整体的架构需求隔离性:传统的移动 App 的开发和集成方式并不适合企业级开发。一个具备很好隔离性的模块化架构是大规模并行开发的基础。动态性:互联网追求唯快不破,从架构上将我们希望能够在富客户端时代同样也能保留 web 的轻盈和灵活。动态性是很重要的前提。极致的网络体验:全双工的接入平台保障了接入层的伸缩性和稳定体验,不管用户在何种网络环境下都能拥有顺...原创 2019-04-02 11:07:10 · 768 阅读 · 0 评论 -
[Android] [Hybrid APP] [Weex开发简述]
WEEXWeex 是使用流行的 Web 开发体验来开发高性能原生应用的框架。Weex 致力于使开发者能基于通用跨平台的 Web 开发语言和开发经验,来构建 Android、iOS 和 Web 应用。简单来说,在集成了 WeexSDK 之后,你可以使用 JavaScript 语言和前端开发经验来开发移动应用。Weex 渲染引擎与 DSL 语法层是分开的,Weex 并不强依赖任何特定的前端框架。...原创 2019-03-28 17:36:05 · 331 阅读 · 0 评论 -
[Android] [Hybrid APP开发简述]
Hybrid APPHybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。Hybrid App同时使用网页语言与程序语言开发,通过应用商店区分移动操作系统分发,用户需要安装使用的移动应用”。总体特性更接近Native App但是和Web App区别较大。只是...原创 2019-03-28 16:54:49 · 627 阅读 · 0 评论 -
[Android][应用架构] [微信Android客户端架构演进之路]
总结设计上简单到复杂早期,简单,复杂的分出去,后期,优化,分化,到支撑多功能多业务的复杂架构分层设计早期,简单的垂直三层(UI/支撑/网络及数据底层),MVC架构后期,依然分层,但轻重分离轻重进程分离技术上分层 + MVC架构进程分离优点,减少被杀的可能。 缺点,增加开启主进程时,应用界面启动缓慢性能上的变化,空闲时占用少,多进程开启时,占用系统资源变得比单进程更多解耦...原创 2019-04-01 20:13:53 · 609 阅读 · 0 评论 -
[Android] [RxJava详解] 【转载】
RxJava / RxAndroid 开源库在正文开始之前的最后,放上 GitHub 链接和引入依赖的 gradle 代码: Github:https://github.com/ReactiveX/RxJavahttps://github.com/ReactiveX/RxAndroid引入依赖:compile ‘io.reactivex:rxjava:1.0.14’compile ‘i...原创 2019-03-27 14:39:50 · 178 阅读 · 0 评论 -
[Android] [ANR的原理、分析、实战] 【转载】
ANR定义及原理ANRApplication Not Responding, 即应用无响应 。原理由于Android有主线程设计,因此,凡系统向应用主线程发消息,让主线程去处理,超过时间,应用主线程未返回响应,就会导致ANR。系统会计时,规定时间内,主线程无消息返回,系统就认为是ANR,并做相应处理(弹窗,甚至杀掉进程)。(背景知识: Android中应用进程模型,线程模型,Activ...原创 2019-03-23 20:17:32 · 643 阅读 · 0 评论 -
Binder [Android]
Binder简述Binder(这个东东)是Android中的一种跨进程通信(IPC)的一种方式。它的实现方式是创建了一种虚拟的物理设备,它的设备驱动是/dev/binder/。工作机制在Android系统的Binder机制中,有4种软件角色,是有Client,Service,ServiceManager,Binder驱动程序组成的。其中Client,service,Service Mana...原创 2019-03-19 12:06:47 · 235 阅读 · 0 评论 -
Android 如何查找最佳匹配资源
Android 如何查找最佳匹配资源(转)当您请求要为其提供备用资源的资源时,Android 会根据当前的设备配置选择要在运行时使用的备用资源。为演示 Android 如何选择备用资源,假设以下可绘制对象目录分别包含相同图像的不同版本:drawable/drawable-en/drawable-fr-rCA/drawable-en-port/drawable-en-notouch-12...翻译 2019-03-13 16:38:22 · 288 阅读 · 0 评论 -
[Android] [Android中有哪些基于Binder的IPC方式]
原创 2019-03-19 16:09:44 · 430 阅读 · 0 评论