首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
罗升阳 BaseRecordingCanvas Canvas
2024-11-05
图解Android - Android GUI 系统 (2) - 窗口管理 (View, Canvas, Window Manager)
Android 的窗口管理系统 (View, Canvas, WindowManager) 在图解Android - Zygote 和 System Server 启动分析一 文里,我们已经知道Android 应用程序是怎么创建出来的,大概的流程是 ActivityManagerService -> Zygote -> Fork App, 然后应用程序在ActivityThread 中的进入loop循环等待处理来自AcitivyManagerService的消息.如果一个Android的应用有
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6720261 前面我们在分析Activity启动过程的时候,看到同一个应用程序的Activity一般都是在同一个进程中启动,事实上,Activity也可 以像Service一样在新的进程中启动,这样,一个应用程序就可以跨越好几个进程了,本文就分析一下在新的进程中启动Activity的方法和过程. 在前面Android进程间通信(IPC)机制Bin
ZT自老罗的博客 Android系统的智能指针(轻量级指针、强指针和弱指针)的实现原理分析
Android系统的智能指针(轻量级指针.强指针和弱指针)的实现原理分析 分类: Android 2011-09-23 00:59 31568人阅读 评论(42) 收藏 举报 androidclassdebuggingdeleteobject Android系统的运行时库层代码是用C++来编写的,用C++来写代码最容易出错的地方就是指针了,一旦使用不当,轻则造成内存泄漏,重则造成系统 崩溃.不过系统为我们提供了智能指针,避免出现上述问题,本文将系统地分析Android系统智能指针(轻量级指针.强
Android控件TextView的实现原理分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8636153 在前面一个系列的文章中,我们以窗口为单位,分析了WindowManagerService服务的实现.同时,在再前面一个系列的文章中,我们又 分析了窗口的组成.简单来说,窗口就是由一系列的视图按照一定的布局组织起来的.实际上,每一个视图都是一个控件,这些控制可以将自己的UI绘制在窗口的 绘图表面上,同时还可以与用户进行交互,即获得用户
Android应用程序窗口(Activity)的测量(Measure)、布局(Layout)和绘制(Draw)过程分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8372924 在前面一篇文章中,我们分析了Android应用程序窗口的绘图表面的创建过程.Android应用程序窗口的绘图表面在创建完成之后,我们就可以从上到下地绘制它里面的各个视图了,即各个UI元素了.不过在绘制这些UI元素之前,我们还需要从上到下地测量它们实际所需要的大小,以及对它们的位置进行合适的安排,即对它们进行合适的布局.在本文中,我们
Android应用程序窗口(Activity)的绘图表面(Surface)的创建过程分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8303098 在前文中,我们分析了应用程序窗口连接到WindowManagerService服务的过程.在这个过程中,WindowManagerService服务会为应用程序窗口创建过一个到SurfaceFlinger服务的连接.有了这个连接之后,WindowManagerService服务就可以为应用程序窗口创建绘图表面了,以便可以用来渲染窗口
Android应用程序窗口(Activity)实现框架简要介绍和学习计划
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8170307 前面我们学习了SurfaceFlinger服务的实现原理.有了这个基础之后,从本文开始,我们就可以分析Android系统在Java层的UI实现了.我们知道,在Android应用程序的四大组件中,只有Activity组件与UI相关,它描述的是应用程序窗口,因此,我们就通过它的UI实现来分析Android系统在Java层的UI实现.本文
Android SurfaceView入门学习
学习资料: Android 开发群英传 搜索学习资料时,搜到了罗升阳老师的Android视图SurfaceView的实现原理分析,老罗老师写的一系列博客,一年前开始学习Android时看不懂,现在依然看不懂,感觉涉及到的知识面太广并且非常深入,还得需要积累很多知识后才能看得懂 在包建强老师的博客中看到,说老罗的博客不是给开发App的人写的,是给开发Rom的人写的.哈哈,为看不懂找个心安理得的理由,推荐包老师的系列博客 写给Android App开发人员看的Android底层知识 1. Surfa
面向忙碌开发者的 Android
面向忙碌开发者的 Android passiontim 关注 2016.11.19 21:41* 字数 4013 阅读 2967评论 2喜欢 92 面向忙碌开发者的 Android 视频教程(Tuts+) Android 开发资源列表(Sharif Ahmed) 我如何在23天内开发了一款 Android 游戏?(Bigosaur) Android 学习教程 Android Bootstrap [PDF] Android 性能小贴士(Romain Guy & Chet Haase) [PDF]
如何学习Android系统源码(转)
一. Android系统的源代码非常庞大和复杂,我们不能贸然进入,否则很容易在里面迷入方向,进而失去研究它的信心.我们应该在分析它的源代码之前学习好一些理论知识,下面就介绍一些与Android系统相关的资料. 我们知道,Android系统是基于Linux内核来开发的,在分析它在运行时库层的源代码时,我们会经常碰到诸如管道(pipe).套接字(socket)和虚拟文件系统(VFS)等知识.此外,Android系统还在Linux内核中增加了一些专用的驱动程序,例如用于日志系统的Logger驱动程序.
Android源码阅读 – Zygote
@Dlive 本文档: 使用的Android源码版本为:Android-4.4.3_r1 kitkat (源码下载: http://source.android.com/source/index.html) 使用的源码阅读工具为Source Insight 源码结构: 0x00 Zygote介绍 Zygote是在设备开启的时候init启动的其中一个进程.在Android系统中,所有的应用程序进程,以及用来运行系统关键服务的System进程都是由Zygote进程负责创建的,因为其行为很想受精卵的分
【转】Android 底层开发的几点
我干了3年Android sdk开发,觉得到了瓶劲没法更进一步,于是花了一年多点时间,大概摸到点门径.根据前辈的经验,Android底层完全入门需要两年. 先说下我的入门过程:第零步,下载源码,我下的4.2的,框架层源码10G,内核2G多,ctags给框架层建的标签文件都有600M,当时让我有点震撼,用的vim+ctags+cscope来阅读,还算不错,架构挺清晰的. 第一步,我找到了一本好书<Android的设计与实现 第一卷>它讲了Android框架层的启动,初始化,服务框架初始化,Bin
如何阅读android framework源码
但如果想深入的了解Android系统, 那么可以看下我的一些简单的总结. 知识 Java Java是AOSP的主要语言之一. 没得说, 必需熟练掌握. 熟练的Android App开发 Linux Android基于Linux的, 并且AOSP的推荐编译环境是Ubuntu 12.04. 所以熟练的使用并了解Linux这个系统是必不可少的. 如果你想了解偏底层的代码, 那么必需了解基本的Linux环境下的程序开发. 如果再深入到驱动层, 那么Kernel相关的知识也要具备. Make AOSP使用
国内及Github优秀开发人员列表
自从入了Android软件开发的行道,解决问题和学习过程中免不了会参考别人的思路,浏览博文和门户网站成了最大的入口.下面这些列表取名为:国内及Github优秀开发人员列表,就是浏览后的成果. 虽然下述列表出自Android软件开发,文章定为不断更新并涉及更多领域. 谓之优秀,唯坚持也. 1. _区长 专注Android开发,专栏有:Android React Native/Android中的设计模式/Android开发最佳实践/Android ORM/Android插件化开发 https://g
如何自学Android
看到很多人提问非科班该如何学习编程,其实科班也基本靠自学.有句话叫"师傅领进门修行靠个人",再厉害的老师能教你的东西都是很有限的,真正的修行还是要靠自己.博主本科是数学专业,虽研究生是计算机专业,但研究生往往是做研究工作(偏学术型研究),编程只是工具,可能很多时候Matlab就搞定了基本需求,再或许用一些科研型仿真软件就可完成课题研究中涉及的编程模块,学业上不太需要很多编程. 关于编程(比如Java)完全是靠挤时间自学的,而Android则更是参加工作后才开始自己倒腾.不少人认为我学习
Android开发书籍推荐:从入门到精通系列学习路线书籍介绍
Android开发书籍推荐:从入门到精通系列学习路线书籍介绍 很多时候我们都会不断收到新手的提问"Android开发的经典入门教材和学习路线?"."Android 开发入门教程有哪些推荐?"等类似的问题,我们不断重复回答这些问题,这让我们萌生了做< Android开发书籍推荐:从入门到精通系列学习路线书籍介绍>的想法,整理收集开发大牛的学习经验,以便让我们少走弯路,更快速成长.希望这个系列可以成为大家手头应对新手的好答案. Diycode整理推荐:本系列
国内优秀Android学习资源
技术博客 应用开发 博主 博客 备注 任玉刚 CSDN博客 深入Android应用开发,深度与广度兼顾 郭霖 CSDN博客 内容实用,行文流畅,高人气博主 夏安明 CSDN博客 张鸿洋 CSDN博客 自定义View系列非常有价值,质量与产量都很高 爱哥 CSDN博客 自定义View系列非常有价值,内容详细逼格高 傲慢的上校 CSDN博客 自定义View系列非常有价值,内容详细逼格高 Trinea 个人博客 性能优化,开源项目等 胡凯 个人博客 性能优化等 谦虚的天下 博客园 性能优化等 兰亭
如何把自己打造成技术圈的 papi 酱
最近半年,一个叫papi酱的平胸女子连续在微博.朋友圈.创业圈刷屏,当之无愧成了中文互联网的第一大网红.呃,你以为我会巴拉巴拉说一堆网工创业的事?NO,今天想借papi酱的话题跟大家一起聊聊程序员如何打造自己的个人品牌,欢迎大家加我微信diycodes一起交流. 在聊如何打造自己的个人品牌之前,先谈谈什么叫做个人品牌,百科里说个人品牌是“个人拥有的外在形象和内在涵养所传递的独特.鲜明.确定.易被感知的信息集合体”,这真是一段比代码难懂得多的话,还是举例子比较好,比如我们说到“Fenng”,立马就
Fresco内存机制(Ashmem匿名共享内存)
Fresco的内存机制 Fresco是Facebook出品的高性能图片加载库,采用了Ashmem匿名共享内存机制, 来解决图片加载中的OOM问题.这里不对Fresco做深入分析,只关注Fresco在Android Bitmap的管理上采用了哪些黑科技. Android的内存区域 Java Heap(Dalvik Heap),这部分的内存区域是由Dalvik虚拟机管理,通过Java中 new 关键字来申请一块新内存.这块区域的内存是由GC直接管理,能够自动回收内存.这块内存的大小会受到系统限制,当
Android大神博客
Trinea 收藏级,开源项目分析等 Android开发周刊Android各种知识 郭霖 http://blog.csdn.net/guolin_blog?viewmode=contents 鸿洋 http://blog.csdn.net/lmj623565791/article/details/38960443 任玉刚 http://blog.csdn.net/singwhatiwanna?viewmode=contents AigeStudio的博客 http://blog.csdn.ne
如何把自己打造成技术圈的papi酱
最近半年,一个叫papi酱的平胸女子连续在微博.朋友圈.创业圈刷屏,当之无愧成了中文互联网的第一大网红.呃,你以为我会巴拉巴拉说一堆网工创业的事?NO,今天想借papi酱的话题跟大家一起聊聊程序员如何打造自己的个人品牌,欢迎大家一起交流. 在聊如何打造自己的个人品牌之前,先谈谈什么叫做个人品牌,百科里说个人品牌是“个人拥有的外在形象和内在涵养所传递的独特.鲜明.确定.易被感知的信息集合体”,这真是一段比代码难懂得多的话,还是举例子比较好,比如我们说到“Fenng”,立马就想到了小道消息.互联网圈
热门专题
2017bt精彩汇总
vue assets和static 应用
springmvc5 freemarker配置
linux看门狗进程
ElasticSearch ik近义词
DLT645-2007规约抄表软件
vs2015 MFC 窗体上文字动态添加
Ani动态光标格式解析
java实现一个函数,要求过滤掉输入字符串中的非法字符
APP内嵌h5 发送图片
在控制器“V_Students”上找不到与该请求匹配的操作
基于proto 文件生成实体类
k8s使用yaml 部署到某个节点上
二维样条插值光滑怎么办
debian curl报错45
c#cefsharp 控件赋值
浏览器中的timing中哪个是响应时间
mysql如何用逗号分隔的ID查询另一张表的那么
vue拖拽放大缩小组件
x3650m5配置raid1