自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 Android meminfo 查看方法及解析

pools统计到了 Free RAM中, 估计统计到了cached kernel中, 因为如果使用adb shell "echo 3 > /proc/sys/vm/drop_caches" , pools会清零, 同时 cached kernel 大幅减少, free增加。获取自: /sys/block/zram/mm_stat or /sys/block/zram/mem_used_total。推荐博客: Linux:/proc/meminfo参数详细解释-CSDN博客,里面说明的很清楚。

2024-02-05 19:01:56 1157

原创 android inset 管理

android 11上新增一套inset管理方法。Insets 是指系统边衬区的窗口, 包括statusbar, navigation bar, 输入法等, 都在insets管理中。下面说的这些insets即为这些窗口。通过insets相关的接口, app可以控制insets窗口的显示, 隐藏, 沉浸式等。inset 最基本的控制是show 和hide。在inset 不同的状态下, 应用区的位置也会发生变化, 这部分的计算也是inset控制的重要内容之一。

2024-02-04 15:29:32 1449

原创 Android SurfaceControlViewHost介绍及使用

SurfaceControlViewHost android跨进程显示view

2023-10-18 17:24:39 1104

原创 Android ION 相关信息查看方法

ION

2023-02-24 13:08:39 1245

原创 Android make 如何通过编译预置文件或文件夹到系统

预置文件,预置文件夹,android 编译

2022-08-02 10:57:53 1442

原创 Android中可变帧率VRR

Android 从Q开始实现对可变帧率(VRR:Variable Refresh Rate)的支持。本文以android Q 为基础介绍android VRR的实现, 与android S有部分差别,但大体流程相同。

2022-06-27 16:53:23 3931

原创 Android Display ID 对应关系

Android display ID 对应关系

2022-06-13 11:25:48 7909

原创 Android Perfetto使用

Perfetto是systrace 的替代,可以实现systrace的功能, 同时提供了更强大的功能, 个人认为最大优势是可以支持长时间tracing。Android Q及P先设置:adb shell setprop persist.traced.enable 1Android Q以上perfetto 默认运行, 无需上述步骤。执行perfetto两种方式:简单模式:使用类似与systrace。 如何需要设定时间加-t, 默认跟踪10s。 -o 输出文件的位置,使用/d....

2022-04-01 11:54:02 3949

原创 Android native crash debug

查看crash信息 adb logcat /data/tombstones/adb logcat中的crash信息中会指明tombstones 文件名:Tombstone written to: /data/tombstones/tombstone_06脚本工具stack如果有相应的源码文件, 且编译时是unstripped binaries, 将stack 信息粘贴到脚本development/scripts/stack中, 打印detail行号。adb pull..

2022-03-21 15:27:10 5049

原创 JNI 概要

JNI Interface Functions and Pointersnative代码通过JNI function 去访问java VM的功能。 JNI function 通过指针去调用访问。所有的JNI function 指针被组织在一个array中, array中的每一个元素就是一个JNI function的指针。Interface pointer 就是指向该array的指针,该指针指向一个array of pointers, array中的每个pointer 指向一个JNI function。.

2021-06-28 16:11:04 127

原创 Android jni 实现

specification:https://docs.oracle.com/javase/10/docs/specs/jni/design.html#referencing-java-objectshttps://blog.csdn.net/lonelyroamer/article/details/7958407java:package com.sonymobile....

2021-06-28 15:01:37 123

原创 Android activity 生命周期及framework调度

Activity 简介Activity类是 Android 应用的关键组件,Activity 充当了应用与用户互动的入口点。通常,一个 Activity 实现应用中的一个屏幕。Activity 生命周期概念当用户浏览、退出和返回应用时,应用中的Activity实例会在其生命周期的不同状态间转换。Activity类会提供许多回调,这些回调会让 Activity 知晓某个状态已经更改:系统正在创建、停止或恢复某个 Activity,或者正在销毁该 Activity 所在的进程。使用这些回...

2021-06-25 14:34:36 315 1

原创 知识点总结:SystemApi,Permission

1. @SystemApi 只允许system app 调用或者用反射方法调用, 反射方法例: NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this); try { Method method = nfcAdapter.getClass().getMethod("enable"); method.inv...

2019-04-15 15:35:40 3304

原创 Android 窗口管理:Z-Order管理

WMS 分几步完成Z-Order的排序:首先,建立窗口的时候为每个窗口分配BaseLayer 和SubLayer。然后,按Z-Order的顺序将窗口加入到所在屏幕的窗口列表中。最后,在显示的时候,动态计算窗口的Layer, 最终决定显示Z-Order。1. BaseLayer 和SubLayer WMS通过Layer来确定window的Z-Orde

2016-10-26 13:57:57 7191

原创 Android 窗口管理:如何添加窗口到WMS

本文以启动一个新的activity为例,说明如何添加新的窗口到WMS。        以下为启动一个activity时,跟WMS相关的流程图。如果对启动activity有兴趣,可以参看一些AMS的文章,推荐老罗的android 之旅。老罗的文章可能基于的是android 比较老的版本,跟最新的系统可能会有些差别, 但是基本原理大同小异。        该流程图基于android L

2016-10-19 14:24:02 2387

原创 Android 窗口管理服务WindowManagerService 简介

Android Window Manager Service(WMS) 是android 最核心的服务之一, 本篇主要对WMS做一个简要的介绍。帮助大家对WMS有个初步的了解。    关于WMS, 计划会写一系列文章, 但是由于WMS逻辑复杂, 与其他系统组件, 例如AMS, SurfaceFlinger, InputManagerSevice交互很多,很难面面俱到的介绍相关功能。后续会以启动

2016-09-18 15:13:49 1362 1

原创 Android N 上app priority 的一点变化

从Android 4.4, 引入了一个新的概念:privileged app,  这种app放在目录system/priv-app下,同样具有system app的权限。 那么与放在system/app下的app有什么区别呢, 简要的说, 就是priv app拥有更多的权限,相同于原来android 4.3及以前版本中的system app. 而4.4以后放在system/app下的app, 虽然

2016-09-01 10:13:19 593

原创 Android N Multi window

Multi Window 是Android N中引入的一个重要的新功能。 本文介绍跟Multi Window 相关的系统实现及应用编程。一.     Multi Window 简介        Android N 允许多个APP在屏幕上同时显示。 如下图所示, 两个app同时显示在屏幕上: 在不同的设备上,Multi window 的功能也略有不同: 1.

2016-08-01 14:24:12 2629

原创 activity 四种启动模式

Android的activity 有四种启动模式,这是一个跟task管理相关的概念。四种模式为:standardsingleTopsingleTasksingleInstance可以在AndroidManifest.xml配置activity的启动模式,like: android:launchMode="singleTop".每种启动模式说明:standar

2016-06-06 17:08:07 573

原创 Android ICU data 文件编译

ICU 是开源项目, 提供了最新的unicode标准,字符集转换, 以及超过300个国家的本地数据, 比如数字,时间和信息显示格式等,以及不同语言下的文本排序,日历相关的日期时间操作等。    详细内容可以访问:        http://userguide.icu-project.org/    在android 中, ICU 源码位于 external/icu/下。

2016-04-29 14:03:18 5964

原创 java 类的初始化

关于类的初始化顺序, 看了很多次,忘了很多次,遇到问题还是有点糊涂,干脆写下来吧。1.父类静态变量或块初始化2.子类静态变量或块初始化3.父类一般变量初始化4.父类构造函数5.子类一般变量初始化6.子类构造函数另外父类构造函数中如果调用了public成员函数,如果子类重写了该函数,那么在父类的构造函数调用的是子类的该函数。

2016-01-13 14:32:55 370

原创 关于art 中 oat file 的 isPic()?

at_file->IsPic() 生成oat文件是可能会有选项--compile-pic,见  ParseArgs() @ art/dex2oat/dex2oat.cc 该选项什么意思? 大概是Position Independent Codestackoverflow上相关的回答:http://stackoverflow.com/questions/531

2015-11-17 17:33:28 1228

原创 Android M Runtime Permission 介绍

本文旨在全面介绍android M 上新发布的runtime permission的相关功能,与之相关的app编程以及一些相关重要API,并对framework部分作了简单介绍。

2015-10-10 16:36:51 4852

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除