安卓
文章平均质量分 84
收录了安卓的知识与技术
Lotay_天天
某全球前十芯片原厂工程师,擅长嵌入式、多媒体、音视频编解码、芯片、智能家居、物联网和苹果认证领域。
不论起点如何,我时刻在不断进步。
展开
-
【debug等级】setprop log.tag.OMX V
这个命令将OMX日志的输出级别设置为空字符串。在Android日志系统中,当日志标签后跟空字符串时,通常意味着该标签下的日志不会被输出。因此,这个命令会关闭OMX标签的所有日志输出。请注意,这些命令的效果可能会受到Android版本和具体设备的影响,因为不同的系统和设备可能对日志系统有不同的实现。因此,这个命令会启用OMX标签的所有日志输出,从。是最低的日志级别,这意味着它会输出大量的调试信息,包括所有细节。:这个命令将OMX日志的输出级别设置为。:这个命令将OMX日志的输出级别设置为。原创 2024-05-22 10:50:15 · 444 阅读 · 0 评论 -
应用稳定性优化2:Crash/Tombstone问题分析及定位
本节主要讲解Tombstone问题的分析定位方法。原创 2024-03-01 17:11:26 · 957 阅读 · 0 评论 -
应用稳定性优化1:ANR问题全面解析
闪退、崩溃、无响应、重启等是应用稳定性常见的问题现象,稳定性故障大体可归类为ANR/冻屏、Crash/Tombstone、资源泄露三大类。本文通过对三类故障的产生原因、故障现象、触发机制及如何定位等,展开深度解读。本文将详解ANR类故障,并通过一个Binder阻塞问题案例,演示如何有效定位ANR类故障。原创 2024-03-01 17:03:43 · 526 阅读 · 0 评论 -
揭秘Android Tombstone:崩溃位置的秘密研究-Crash Location
本章中,介绍了一下关于crash location的目前的业界难题,和对于以前一些未用到的信息的解释。大家可以看到tombstone固然是提供了一些信息量,让我们能够大致理解崩溃的错误原因,路径之间的语义,根本错误的发生地址,但是它也有它的局限性。我们光从tombstone已经很难再进行更精确的分析或者验证了,所以我们不得不引入其他的工作。这些工作可能有——代码静态分析,语义的自动解释,变量输入点的定位等等。其他工作敬请期待,我们的目标是星辰大海!原创 2024-03-01 15:55:43 · 813 阅读 · 0 评论 -
Android Tombstone 分析
Tombstone是指在分布式系统中用于标记数据已被删除的记录,通常包含删除操作的时间戳和相关信息。当一个动态库(native程序)开始执行时,系统会注册一些连接到 debuggerd 的signal handlers。当系统发生崩溃时,会保存一个tombstone文件到/data/tombstones目录下,并在Logcat中提供相应信息。这个tombstone文件类似于墓碑,记录了已终止进程的基本信息,包括进程号、线程号、崩溃地址等。原创 2024-03-01 15:33:03 · 1607 阅读 · 0 评论 -
解读Android进程优先级ADJ算法
Android框架对进程创建与管理进行了封装,对于APP开发者只需知道Android四大组件的使用。当Activity, Service, ContentProvider, BroadcastReceiver任一组件启动时,当其所承载的进程存在则直接使用,不存在则由框架代码自动调用startProcessLocked创建进程。一个APP可以拥有多个进程,多个APP也可以运行在同一个进程,通过配置Android:process属性来决定。原创 2024-01-24 17:33:26 · 1209 阅读 · 0 评论 -
android:persistent和android:priority的区别,对进程优先级有什么影响?
前言:写的apk因为系统busy给我kill了,(adj 900): kill all background,在AndroidManifest.xml添加android:persistent="true"后,被甲方要求不能这样做,还是得从adj改,把 priority改成1000。确实,通过将自己的应用作为系统应用(安装目录为/system/apk/),并设置android:persistent="true"属性,可以实现持久性,即应用会在系统启动时加载,并在异常出现时自动重新启动。这适用于广播接收器。原创 2024-01-24 16:59:30 · 1373 阅读 · 0 评论 -
探秘Proto文件:解析定义与参数揭秘
需要注意的是,Proto文件只是一种定义语言,并不直接对应具体的实现代码,需要使用相应的编译器或工具将Proto文件转换为目标平台的具体代码。Proto文件使用简洁的语法来定义数据结构和接口,同时还支持扩展、自定义选项等高级特性,使得它非常适合用于跨平台的数据交换和通信场景。Proto文件是Google开发的一种用于定义数据结构和服务接口的语言,通常用于在不同平台之间进行数据交换和通信。枚举(enum)定义了一组具名的整数常量,可以作为消息字段的取值范围或者服务方法的选项。,不太懂,学习一下~原创 2023-09-26 11:13:35 · 244 阅读 · 0 评论 -
Android 教程
什么是 Android?Android 是一个开源的,基于 Linux 的移动设备操作系统,如智能手机和平板电脑。Android 是由谷歌及其他公司带领的开放手机联盟开发的。Android 提供了一个统一的应用程序开发方法,这意味着开发人员只需要为 Android 进行开发,这样他们的应用程序就能够运行在不同搭载 Android 的移动设备上。谷歌在2007年发布了第一个测试版本的 Android 软件开发工具包(SDK),第一个商业版本的 Android 1.0,则发布于2008年9月。原创 2022-12-29 18:04:44 · 2398 阅读 · 7 评论 -
不要重复我的错误,因为我花了10万元来学习这些教训:学习安卓过程中踩的坑
该文是本人在学习安卓过程中踩的坑,可以借鉴原创 2021-06-21 01:43:18 · 1997 阅读 · 1 评论 -
深入学习Android
通过阅读邓凡平前辈的《深入理解Android》,为了加深学习作此学习笔记,阅读该知识应具有C++的基本知识,因为本书的大部分内容都集中在了Native层。原创 2022-12-05 15:05:09 · 1215 阅读 · 4 评论 -
Android中 Bundle类的作用
Android中 Bundle类的作用Bundle类用作携带数据,它类似于Map,用于存放key-value名值对形式的值。相对于Map,它提供了各种常用类型的 putXxx( )/getXxx( )方法,如putString( ) getstring( )和 putInt( )/getInt( )putXxx( )用于往 Bundle对象放入数据, getXxx( )方法用于从 Bundle对象里获取数据。Bundle的内部实际上是使用了 HashMap类型的变量来存放putxx( )方法..原创 2021-06-09 11:32:29 · 298 阅读 · 0 评论 -
【Android】期末简答题
1.Activity类中定义了7个回调方法,分别是什么?我的答案:onCreate()这个方法你已经看到过很多次了,每个活动中我们都重写了这个方法,它会在活动第一次被创建的时候调用。你应该在这个方法中完成活动的初始化操作,比如说加载布局、绑定事件等。onStart()这个方法在活动由不可见变为可见的时候调用。onResume()这个方法在活动准备好和用户进行交互的时候调用。此时的活动一定位于返回栈的栈顶,并且处于运行状态。onPause()这个方法在系统准备去启动或者恢复另一个活动的时候调用。我原创 2021-06-08 22:55:54 · 1879 阅读 · 3 评论 -
【Android】期末项目填空题和代码题
实验二一、实验目的1、掌握显式Intent用法2、掌握隐式Intent用法3、熟悉更多隐式Intent用法4、掌握使用Intent传递对象的方法Android的三个基本组件——Activity、Service、BroadcastReceiver,都是通过Intent机制激活的,而不同类型的组件有传递Intent的不同方式。(1)startActivity(Intent)/startActivityForResult(Intent):来启动一个Activity;(2)startService(原创 2021-06-08 17:45:48 · 1454 阅读 · 0 评论 -
【Android】期末选择题和判断题
1 关于sendBroadcast()方法说法正确的是( A )A、该方法是发送一条无序广播B、该方法是发送一条有序广播C、该方法即是发送有序广播也可以发送无序广播D、以上说法都不正确2 Android中定义广播接收者要继承( D)。A、BroadCastRebootB、BroadCastC、ReceiverD、BroadcastReceiver3关于有序广播和无序广播说法正确的是( A)A、有序广播可以被拦截数据可以被修改,无序广播数据不可以被拦截数据不可以被修改B、无序广播原创 2021-06-08 17:11:28 · 4739 阅读 · 2 评论