Zhibin's blog
always smile :-) RSS
Blog
Archives
About
Android System PropertiesTH, 2013 | COMMENTS —直朝那个方向走,或许真的能到达那个地方。o(∩∩)o…哈哈 Property system 是 Android 系统中一个重要的 Feature,它以一个
Android System Property一 System Property 代码中大量存在:SystemProperties.set()/SystemProperties.get();通过这两个接口可以对系统的属性进行读取/设置,顾名思义系统属性,肯定对整个系统全局共享。通常程序的执行以进程为单位各自相互独立,如何实现全局共享呢?System Properties是怎么一回事,又是如何实现
转载
2024-01-11 22:36:43
90阅读
文章大纲引言一、Intsaller系统服务概述二、com.android.server.SystemService概述三、Intsaller系统服务的启动1、com.android.server.SystemServer#startBootstrapServices 触发Installer系统服务启动2、com.android.server.SystemServiceManager#startS
转载
2023-08-04 13:18:21
122阅读
Android系统信息获取android.os.BuildSystemPropertyString board= Build.BOARD;
String brand=Build.BRAND;
String os_version=System.getProperty("os.version");
String os_name=System.getProperty("os.name");Package
转载
2023-07-21 23:44:15
174阅读
# 如何实现一个简单的“Android系统”
在开发一个Android应用程序的过程中,特别是对于一个刚入行的小白,可能会感到无从下手。本文将为你提供一个清晰的步骤流程,并逐步深入到每一步所需的代码示例。
## 项目流程图
```mermaid
flowchart TD
A[创建项目] --> B[设计用户界面]
B --> C[编写主程序代码]
C --> D[添加
一、概述1、Systrace简介 Systrace(System Trace)是 Android 4.1 之后,引入的分析设备性能的主要工具。它实际上是其它工具的封装容器(是atrace的主机端封装容器),是用于控制用户空间跟踪和设置ftrace的设备端的可执行文件,也是Linux内核中的主要跟踪机制。 Systrace 允许你收集和检查设备上运行的所有进程的计时信息。 它包括 Android k
转载
2024-06-09 07:56:03
39阅读
前言在开发应用时,你需要检查应用的交互是平滑流畅的。Systrace工具可以帮助你收集设备上运行的所有进程的时间信息,并生成一个详细的HTML报告。它显示了给定时间内CPU的使用情况以及每个进程和线程在做什么。它还自动分析了捕获的跟踪信息,并高亮显示它所观察到的性能问题,同时提供了如何修复问题的建议。Systrace工具特别适合用来分析UI的性能。前提条件使用Systrace工具有几个前提条件:A
转载
2023-07-03 15:25:15
313阅读
Android 系统信息Pro如果你是一个Android手机的老用户,从2年前或者更早时开始用Android,那你应该对一款名叫系统信息Pro(Quick System Info Pro)的软件有很深的了解,这款软件在Android发展的早期有着很高的评价,笔者也一度认为,这款软件是Android手机必装软件。系统信息Pro系统信息Pro这款软件的主要作用,就是让用户可以更深的了解自己手机的系统,
转载
2023-11-16 10:42:47
134阅读
1.AndroidUI管理系统的层级关系1.1.主要对象介绍(1)PhoneWindow:Android系统中最基本的窗口系统,继承自Window类,负责管理界面显示以及事件响应,是Activity和View系统交互的接口。 (2)DecorView:PhoneWindow中的起始点View,继承于View类,作为整个视图容器使用,用于设置窗口属性,本质上是一个FrameLayout。 (3)Vi
什么是SystraceSystrace 是 Android4.1 中新增的性能数据采样和分析工具。它可帮助开发者收集 Android 关键子系统(如 SurfaceFlinger/SystemServer/Kernel/Input/Display 等 Framework 部分关键模块、服务,View系统等)的运行信息,从而帮助开发者更直观的分析系统瓶颈,改进性能。通常使用 systrace 跟踪系
转载
2024-02-02 19:42:32
59阅读
Android模拟器运行之后,/system目录即为只读属性。如果想把自己的程序传到该目录下运行,就会发现无法成功。当然,使用adb remount命令可以暂时去除它的只读限制,可以向里面传文件,但是一旦重启Android模拟器,再次使用adb shell进入模拟器终端时就会发现,自己传进去的文件在重启之后被清除掉了。 当然,你可以把文件传到/dat
转载
2023-11-19 21:12:55
251阅读
上文中提到Android系统通过将 mem 写入 /sys/power/state 来发起系统挂起。这篇文章大部分内容来自蜗窝科技,我更新了code以及增加自己的理解Suspend功能有关的代码分布内核中Suspend功能有关的代码包括PM core、Device PM、Platform PM等几大块,具体如下:PM Corekernel/power/main.c----提供用户空间接口(/sys
转载
2023-09-11 14:06:51
264阅读
系统升级软件流程本章节结合源码剖析Recovery系统升级流程,流程中相关技术难点或者细节会单独文章介绍,文中相应位置会附上链接。从APP检测到服务器推送OTA升级包到设备启动到新版本系统的整个软件流程如下图所示, 文章将围绕图中涉及到的模块详细讲解。 软件流程系统升级软件流程1. App下载升级包并调用RecoverySystem接口2. Framework RecoverySystem 触发升
转载
2023-09-04 18:52:53
678阅读
Android SystemProperties简介
Systemproperties类在android.os下,但这个类是隐藏的,上层程序开发无法直接使用。其实用java的反射机制是可以使用这个类。何谓java反射机制,请自行研究学习,在此不做介绍,放到后续文章中。用JNI 的方式,可以绕过Systemproperties这个类,直接本地调用来实现创建、获取及修改系统属性。在此也不
转载
2024-05-26 21:10:26
88阅读
在android中调用webservice的步骤:一、使用的工具 vs2015 sqlserver2008r2 eclipse genymotion二、在sqlservser中创建一个数据库1、这里我创建了一个"Demo"数据库,"Cno"设置为主键并且标识为自动增长,另外在登录sqlserver的时候使用window身份验证,如果使用sq
转载
2024-08-06 18:32:24
28阅读
目 录 存储框架概述 2$一、framework篇 2一、前期布置和准备 31、onStart() 42、onBootPhase(int phase) 6二、消
转载
2024-01-26 23:36:23
89阅读
公司一款app有将近两年没有更新了,虽然用户量不大,但是因为与第三方有合作,出现问题时需要进行维护;没想到最近第三方对他们所有的软件进行了网络安全扫描,这款Android app也未能幸免… 因为app是13年左右开发的,维护也只是到16、17年左右就终止了,所以,扫描出不少漏洞;因为是采用了webview+html混合开发,因此,需要解决一些webview相关的问题:一、webview隐藏接口问
转载
2023-10-20 16:36:17
50阅读
大概实现类似TelephoneManager这样的远程服务,但是由于TelephoneManager是已经封装过的代理类,所以我们不需要去获取binder,但是对于调用另一个应用的service,需要通过aidl来通信。请注意:这两种实现方式会有区别,后面会附上代码。这里主要讲前者,对于aidl实现跨进程调用大概介绍一下。1.添加service到SystemService IInnerToolSe
转载
2023-10-08 21:27:15
74阅读
System.loadlibary,System.load是怎么加载so库的?他们是在Runtime的启动过程中通过loadnativelibary来加载libjavacore.so的动态库,这个动态库是这两个函数的实现体。libcore/ojluni/src/main/java/java/lang/System.javapublic static void loadLibrary(String
转载
2023-10-19 07:13:54
124阅读
SDK System images 这是在创建模拟器时需要的system image,也就是在创建模拟器时CPU/ABI项需要选择的,下载并解压后,将解压出的整个文件夹复制或者移动到your sdk 路径/system-images文件夹下即可, 如果没有system-images目录就先创建此文件夹,然后打开SDK Manager,打开Tools(工具)菜单选择Options(选项)菜单项打开A
转载
2023-08-28 15:12:11
728阅读