
Android框架
文章平均质量分 98
Android框架
yaoming168
这个作者很懒,什么都没留下…
展开
-
移动端环境搭建--2
1.CameraAppapp里调用AOSP接口去Open Camera,mCameraManager.openCamera(Camera);2.CameraManager.java2.1.openCamera(String cameraId,CameraDevice.StateCallback callback)1.该AOSP接口需要Permision@RequiresPermission(android.Manifest.permission.CAMERA)2.需要CameraId及State原创 2021-03-02 21:43:29 · 340 阅读 · 0 评论 -
分析整个分屏的流程-2
分析整个分屏的流程-2分屏总览1.分屏模式是通过长按最近任务列表(RecetsActivity)的任一个历史应用(TaskTiew)进入的,如果该应用不支持分屏就提示用户,如果可以分屏就显示可以分屏的区域,之后拖拽想要分屏的TaskView,在拖拽的过程中判断touch事件移动的位置是否进入了分屏区域,如果没有继续处理touch事件,如果进入了分屏区域,就会更新屏幕区域分屏,此时结束拖拽。2.调用AMS为分屏区域创建stack,根据屏幕尺寸计算stack的尺寸,然后对stack中task再重新计算尺原创 2020-11-11 11:24:10 · 804 阅读 · 0 评论 -
Android 多窗口实现原理
文章目录分屏总览请求分屏显示可分屏区域拖拽分屏开始分屏冷启动分屏获取stacksizeResize窗口热启动分屏Move Stack转载:https://blog.youkuaiyun.com/fu_kevin0606/article/details/81191078本文主要讲解多窗口分屏模式的实现方式分屏总览1.分屏模式是通过长按最近任务列表(RecetsActivity)的任一个历史应用(TaskTiew)进入的,如果该应用不支持分屏就提示用户,如果可以分屏就显示可以分屏的区域,之后拖拽想要分屏的Task原创 2020-11-11 17:39:11 · 3361 阅读 · 1 评论 -
Android分屏模式代码实现
文章目录Android N上的多窗口功能有三种模式:生命周期开发者相关相关模块和主要类Android N上的多窗口功能有三种模式:分屏模式这种模式可以在手机上使用。该模式将屏幕一分为二,同时显示两个应用的界面。如下图所示:画中画模式这种模式主要在TV上使用,在该模式下视频播放的窗口可以一直在最顶层显示。如下图所示:Freeform模式这种模式类似于我们常见的桌面操作系统,应用界面的窗口可以自由拖动和修改大小。如下图所示生命周期多窗口不影响和改变原先Activity的生命周期。在多窗口原创 2020-11-11 11:29:31 · 6983 阅读 · 0 评论 -
WMS介绍
简介:在Android中, WindowManagerService负责对系统中的所有窗口进行管理。所谓的管理大致包括对窗口进行创建、删除,以及更换窗口的焦点。窗口一般是一个独立的界面,比如一个对话框的窗口,一个Activity的交互窗口,一个菜单等;”Window”是一个类,它的实现类是PhoneWindow,Activity类实现了Window.CallBack接口,从而成了具有通用...原创 2019-04-20 15:49:14 · 5276 阅读 · 0 评论 -
Android 8.0 AMS分析的第一条线:SystemServer中的AMS的调用轨迹
SystemServer中的AMS的调用轨迹原创 2016-07-22 09:18:48 · 1896 阅读 · 0 评论 -
Android Activity的启动流程分析:以Launcher启动一个Activity为例,分析应用进程的创建、Activity的启动,以及他们和AMS之间的交互
这篇是通过Launcher启动一个activity的过程,先以一张开头。Step 1. Launcher.startActivitySafely在Android系统中,应用程序是由Launcher启动起来的,其实,Launcher本身也是一个应用程序,其它的应用程序安装后,就会Launcher的界面上出现一个相应的图标,点击这个图标时,Launcher就会对应的应用程序启动起来。 Launcher原创 2016-09-01 20:01:07 · 1948 阅读 · 1 评论 -
AMS介绍
一、ActivityManagerService(简称AMS),是 Android 最核心的服务,因此其创建过程伴随在开机的过程中,其由System_server的ServerThread线程创建,创建完后就进入home activity界面,也就是AMS启动的第一个activity。AMS主要负责系统中四大组件的启动、切换、及进程的管理和调度等工作。根据其主要的职能,可以从以下几个方面对AMS...原创 2019-04-20 02:58:34 · 6758 阅读 · 1 评论 -
Android.mk基础(一)
akefile的一小部分,会被编译系统解析一次或多次。你可以在每一个Android.mk file中定义一个或多个模块,你也可以在几个模块中使用同一个源代码文件。1、LOCAL_PATH := $(call my-dir) 一个Android.mk file首先必须定义好LOCAL_PATH变量。它用于在开发树中查找源文件。2、include $( CLEAR_VARS)CLEAR_VARS 由编译系统提供,指定让GNU MAKEFILE为你清除许多LOCAL_XXX变量原创 2012-07-25 10:13:38 · 110 阅读 · 0 评论 -
openGL基础(一)
方法都做了相同的工作,不同的是allocateDirect方法直接使用操作系统来分配Buffer。因而它将提供更快的访问速度。不幸的是,并非所有的虚拟机都支持这种直接分配的方法。Sun推荐将以字节为单位的直接型缓冲区allocateDirect用于与大型文件相关并具有较长生命周期的缓冲区。[b]3、openGL进行图像绘制:[/b]a、定义颜色、面、点的数组b、建立buffer将定义的数组放入各自的buffer中c、建立draw函数进行绘制(开启绘画中用到的一些功能,用完后关闭)原创 2012-07-24 17:17:32 · 136 阅读 · 0 评论