摘要:一、Android应用获取有线网络DNS列表 /** * 获取DNS列表 */ private List<String> getDnsList() { List<String> dnsList = new ArrayList(); if (this.mIEthernetManager == null
阅读全文
摘要:1.Java层调用栈打印: (1)打印本地调用堆栈 Log.i(TAG, Log.getStackTraceString(new Throwable())); //打印本地调用堆栈 (2)打印远程调用堆栈 import android.os.Binder;import android.app.IAc
阅读全文
摘要:Iperf是一个网络性能测试工具。Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽,具有多种参数和UDP特性。Iperf可以报告带宽,延迟抖动和数据包丢失。利用Iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。 Iperf还有一个图形界面程序叫做
阅读全文
摘要:平台:Mstar 系统版本:Android 8.0 1.\frameworks\base\core\java\android\provider\Settings.java settings.apk的默认参数是从SettingsProvider app中读取的,保存在provider中说明是系统全局性
阅读全文
摘要:安卓开发中经常需要对app的性能进行优化,其中就包括解决内存泄漏问题,在app不大的情况下,可借助Android Studio的Android Monitor,简单操作app,观察内存情况,就可以找出内存泄漏点,或者引入开源项目LeakCanary,也可以很快发现内存泄漏点。当然也可以借助monke
阅读全文
摘要:lsusb:查看系统当前连接的所有USB设备 cat /sys/kernel/debug/usb/devices : 每个USB设备及其配置描述符 T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1 //第一层 EHCI 控
阅读全文
摘要:修改源码路径:frameworks\base\services\net\java\android\net\dhcp\DhcpClient.java 1、定义对应属性变量: // Patch Begin - Sheldon private static final String PROPERTY_DH
阅读全文
摘要:Android的应用分布在很多目录中,如果去每个目录下修改Android.mk文件就是一个比较大的工程,同时时间长了之后也记不清改过哪些文件了,现在提供一个简便的裁剪预置应用的方法,步骤如下: 1. 修改build目录main.mk ifdef FULL_BUILD # The base list
阅读全文
摘要:一、APP通过View修改鼠标样式 app view上修改鼠标样式比较简单,通过 hover event 获取鼠标坐标并使用如下方法修改为自定义图片: getWindow().getDecorView().setPointerIcon(PointerIcon.load(getResources(),
阅读全文
摘要:\packages\providers\CalendarProvider\src\com\android\providers\calendar\CalendarDatabaseHelper.java 或者 \packages\providers\CalendarProvider\src\com\an
阅读全文
摘要:一、蓝牙文件传输弹窗 Android原生蓝牙传输文件时,会弹出蓝牙文件接收的确认框且默认是以notification的形式显示在状态栏,当用户点击之后才会弹出一个dialog。那么当状态栏被禁用时,如何实现文件接受全程不需用户点击而自动接收呢? 1.如何不让用户点击状态栏直接弹确认的dialog?
阅读全文
摘要:一、Android系统代码中实现设备名分配 1. \frameworks\base\services\core\java\com\android\server\ConnectivityService.java 建立连接时读取 "net.hostname" 属性值是否为空,如果为空则获取设备id,加上
阅读全文
摘要:一、状态图: 二、代码分析: \frameworks\opt\net\wifi\service\java\com\android\server\wifi\WifiStateMachine.java 1.创建WifiStateMachine的构造函数中添加各个状态: 2.状态切换-开启AP (acce
阅读全文
摘要:1.1 任务和返回栈 - 实际数据模型 这个是指在调度体系里实际保存的TaskRecord实例,而ActivityRecord-TaskRecord-ActivityStack之间的关系建议看官方文档。任务栈是实际在后台的任务,因此这些任务也都有对应的显示层实例。 其创建与删除通过stack控制:
阅读全文
摘要:1.Android预优化的原理 先来回顾一下Android的发展史,在2014年的Google I/O大会上,Google隆重的发布了Android 4.4操作系统,其中有一个环节着重介绍了ART(Android runtime),也就是虚拟机,也就是运行APP的环境,也就是运行Java代码的虚拟机
阅读全文
摘要:jack server交互命令: jack-admin start-server jack-admin kill-server jack-admin list-server jack-admin uninstall-server mm -j32 showcommands &> mm.out jack
阅读全文
摘要:程序员应该了解一个基本问题:我的程序使用了多少内存?这可能是一个简单的问题,但是对于像Linux这样的虚拟内存操作系统,答案是相当复杂的,因为top和ps给出的数字不能简单相加。进程中两个最常见的内存信息指标是虚拟集大小(Vss)和常驻集大小(Rss),可以在ps和top指令查看到这些参数: Vss
阅读全文
摘要:一、反汇编定位crash ①查看crash log: 上图已标出crash发生在 libdeflicker_gpu.so 库中的 default_fail_func() 函数,但是 libdeflicker_gpu.so 是第三方动态库,无法分析代码,所以退一步到外层的调用代码查找问题。 链接 li
阅读全文
摘要:1.GPU / CPU 信息打印脚本 gpu_cpu_info.bat 2.进程/线程 性能信息: 查看该进程ION Buffer情况: # cat /sys/kernel/debug/dma_buf/dmaprocs | grep 642 PID 进程号 USER 用户名 PR 优先级 NI ni
阅读全文