自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(396)
  • 资源 (3)

转载 链表反转(Java三种实现方式)

####Mackyhuang本博文转移:链表反转(Java三种实现方式)可移步查看####链表这个数据结果经常遇见,这里提供一个链表反转的java代码实现,有三种算法,一种是递归的,俩种是非递归的。####首先为了方便测试,在博文最后贴上递归实现链表创建的代码,以供读者快速上手测试,提供的代码可以复制以后直接测试####先看看Node节点把public class Node {//链表用于存储值private final int value;//指向下一个节点 理解为Node next更

2020-07-20 15:07:22 77

转载 Android App 保活之 ADJ 算法

Android开发中,令人头疼的保活问题始终缠绕每一个开发者。如何保证自己的进程不被系统回收呢?首当其冲应该是保证自己进程的优先级。Android系统在运行时,如果遭遇到内存过低,为保证系统稳定与流畅,会回收一部分不常用的进程(当然很多三方rom如miui会在电量过低也会回收)。这个回收过程当然不是随意回收,系统需要有一个判断进程优先级的指标,帮助系统判断哪些资源是优先级高需要保留,哪些资源优先级比较低需要释放该资源。ADJ就是系统杀死进程的重要指标本文从linux\Android进程优先级:adj分

2020-07-20 11:09:46 157

转载 Android显示系统框架初探

Android显示系统框架初探 一、前言:Android显示系统框架跟随着谷歌Android 8的Treble架构改革而发生较大的变动,从此之后hal层就以单独的hwc(hwcomposer)进程而存在,SurfaceFlinger进程通过hwbinder跟hwc进程打交道,两兄弟从此相爱相恨。       而Linux内核显示部分也从帧缓存(FrameBuffer)迈进了DRM时代(英文全称...

2020-06-22 17:00:19 62

转载 java的数据类型有哪些

...

2020-02-15 19:56:16 63

转载 Android虚拟机的JIT编译器

Android虚拟机的JIT编译器0.0962019.06.07 10:48:26字数 1765阅读 363背景最近参加了华为方舟的Workshop,从编译到Runtime都有了一些体会,并且对于虚拟机的运行也有了一些了解。Android虚拟机的演变4.4版本前,使用的是Dalvik虚拟机5.0版本以后,使用的是Art虚拟机Dalvik虚拟机原理Dalvik是基于寄存器的虚拟机...

2019-10-17 15:37:52 217

转载 Linux 进程的 Uninterruptible sleep(D) 状态

运行在 KVM 虚拟机里的一些进程突然出了问题,这些出了问题的进程无法用 kill杀掉,使用 ps 可以看到这些进程处于D 状态:1...

2019-09-10 16:12:33 193

转载 抓出卡顿元凶,从分析掉帧开始

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-09-07 16:54:54 305

转载 Android内存管理篇 - adj的概念与进程adj级别控制

本文主要介绍Android的lowmemorykiller的oom_adj的相关概念,以及根据一些案例来阐述了解oom_adj对于做Android应用开发的重要意义。一、lowmeorykiller中进程的分类以及各类进程的adj值        在Android的lowmemroykiller机制中,会对于所有进程进行分类,对于每一类别的进程...

2019-09-01 12:28:20 318

转载 apk dex vdex odex art 区别

APK(Android package):android安装包,由aapt(Android Assert Packaging Tool)把AndroidManifest.xml、资源文件、dex(二进制字节码)文件组合而成。将apk文件修改扩展名为rar,然后解压可已看到目录如下:apkMETE-INF:存放应用签名证书等信息res:存放资源文件AndroidManifest....

2019-08-31 22:27:46 180

原创 Android cmd 命令常用参数详解

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...

2019-08-28 19:35:09 162

转载 Android 手机灭屏流程分析详解

本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:1.前言2.Power键灭屏3.超时灭屏4.PSensor灭屏PowerManagerService 之前系列文章请参考如下1.PowerManagerService分析(一)之PMS启动2.PowerManagerService分析(二)之updatePowerStateL...

2019-07-29 14:34:00 116

转载 adb安装模式修改为speed模式

frameworks/base / services/core/java/com/android/server/pm/PackageManagerService.java  DexoptOptions dexoptOptions = null;            if ((installFlags &...

2019-07-25 17:29:28 725

转载 启动耗时分析(三)-ART编译分析

原文链接:http://www.jianshu.com/p/636eb2e12d54 ...

2019-07-23 21:11:46 386

转载 Linux下修改/etc/passwd。ubuntu不小心改了用户名登陆不上去(忘记密码可破解密码)

  前几天手贱想修改一下用户名,然后打开/etc/passwd找到对应的文件名并修改了,而且...

2019-07-13 14:45:27 1198

转载 IBinder, BBinder和BpBinder

IBinder, BBinder和BpBinder这3个类,是对Android Binder框架的抽象,其实这个BBinder,改成BnBinder可能更形象一些。但是要注意的是,一个IXXXService的继承图中,BpBinder并不在这个继承关系之中,也就是说BpBinder并没有子类。但是BBinder是在这个继承关系当中的,它的子类就是BnInterface。换句话说,BBinde...

2019-06-27 17:42:17 153

转载 Android应用ANR分析

Application Not Responding,字面意思就是应用无响应,稍加解释就是用户的一些操作无法从应用中获取反馈。在实际的应用中应当去避免这种现象,虽然他暂时不会造成应用崩溃,但是却极大的损坏了用户体验。二.ANR的触发原因出现ANR之后一个直观现象就是系统会展示出一个ANR对话框,大概是这样。谷歌文档中对ANR产生的原因是这么描述的:Android系统中的应用...

2019-06-13 17:46:11 467

转载 Input系统—ANR原理分析(转)

当input事件处理得慢就会触发ANR,那ANR内部原理是什么,哪些场景会产生ANR呢。 “工欲善其事必先利其器”,为了理解input ANR原理,前面几篇文章疏通了整个input框架的处理流程,都是为了这篇文章而做铺垫。在正式开始分析ANR触发原理以及触发场景之前,先来回顾一下input流程。1.1 InputReader点击查看大图:InputReader的主要工作分两部分:调用E...

2019-06-13 15:52:14 178

转载 Android ANR问题 -- Input超时实战问题解析上

在前面我们简诉了Android Input超时的原因,我们了解到系统Input系统分发Input的事件时如果有5s超时会触发应用ANR。在实际开发测试中,我们也会经常遇到Input超时导致的ANR问题,那么现在我们就以实际问题分析一下Input超时的ANR问题,描述一下实际开发测试中我们应该如何定位问题的原因。本文基于AndroidO(8.1)系统。实战一:Input dispatching ...

2019-06-13 15:35:02 346

转载 Android应用ANR分析

Application Not Responding,字面意思就是应用无响应,稍加解释就是用户的一些操作无法从应用中获取反馈。在实际的应用中应当去避免这种现象,虽然他暂时不会造成应用崩溃,但是却极大的损坏了用户体验。二.ANR的触发原因出现ANR之后一个直观现象就是系统会展示出一个ANR对话框,大概是这样。谷歌文档中对ANR产生的原因是这么描述的:Android系统中的应用...

2019-06-11 14:35:04 77

转载 Android ANR 问题第二弹------Input超时实战问题解析上

在前面的Android ANR 问题第二弹一文中,我们简诉了Android Input超时的原因,我们了解到系统Input系统分发Input的事件时如果有5s超时会触发应用ANR。在实际开发测试中,我们也会经常遇到Input超时导致的ANR问题,那么现在我们就以实际问题分析一下Input超时的ANR问题,描述一下实际开发测试中我们应该如何定位问题的原因。本文基于AndroidO(8.1)系统。实...

2019-06-11 14:15:19 190

转载 android SELinux 问题解决-如何用工具生成相关权限配置文件?

        SELinux是什么?即Security-Enhanced Linux,是由美国国家安全局(NSA)发起,基于Linux开发的一个安全增强系统,旨在提高系统的安全性。而SEAndroid基于SELinux,在Android5.0上被正式启用。SELinux有3种操作模式,分别是Disabled、Permissive、Enforcing,在...

2019-05-21 10:16:48 469

转载 Android ANR原理分析

一、概述ANR(Application Not responding),是指应用程序未响应,Android系统对于一些事件需要在一定的时间范围内完成,如果超过预定时间能未能得到有效响应或者响应时间过长,都会造成ANR。一般地,这时往往会弹出一个提示框,告知用户当前xxx未响应,用户可选择继续等待或者Force Close。那么哪些场景会造成ANR呢?Service Timeout:服务在2...

2019-05-20 14:48:11 52

转载 Android系统-性能评估-2-了解systrace

systrace是一个分析Android性能问题的基础工具,但其本质上是其他某些工具的封装,包括:在host侧的封装atrace,在device端的可执行文件(用于控制用户空间的tracing和配置ftrace,即Linux内核中的主要跟踪机制)。Systrace使用atrace来enable tracing,然后读取ftrace的buffer,并且把它重新转换成HTML格式。(虽然较新的内核支持...

2019-05-19 17:36:03 81

转载 Systrace的工作原理以及如何分析

systrace是一个分析android性能问题的基础工具,但本质上是其他某些工具的封装,包括:PC端的atrace,设备端的可执行文件(用于控制用户控件的追踪以及配置ftrace,即Linux内核中的主要跟踪机制)。Systrace使用atrace开启追踪,然后读取ftrace的缓存,并且把它重新转换成HTML格式。systrace由Google Android和Google Chrome共同...

2019-05-19 17:32:28 459

转载 Android ANR问题总结

转载自:https://blog.csdn.net/jiangguohu1/article/details/52636470一,什么是ANR?        所谓ANR也就是Application not res...

2019-05-18 15:04:07 96

转载 Android 系统(248)---解读Android进程优先级ADJ算法

本文基于原生Android P源码来解读进程优先级原理,基于篇幅考虑会精炼部分代码一、概述1.1 进程Android框架对进程创建与管理进行了封装,对于APP开发者只需知道Android四大组件的使用。当Activity, Service, ContentProv...

2019-05-14 15:13:01 254

转载 Android 关于BugReprot文件的分析

1. Android 在开发过程中上传到应用市场,应用市场审核不通过会反馈给我们可恶的BugReprot文件;以小米的为例:  反馈回来的bugReprot文件解压如下根本,打开log文件根本无法阅读.图一不要着急.我们可以使用sony的 bugReprot 分析工具chkbugport.jar , 此工具可以将bugrepor...

2019-04-12 10:19:11 209

转载 android bugreport 分析

Get Log from AndroidSystemadb bugreport> bugreport.txtcopy bugreport tothe current directory.bugreport里面包含了各种log信息,大部分log也可以通过直接运行相关的程序来直接获得.步骤如下:1.adb shell2.进入相关工具程式的目录 3.执行相关程式 4.得...

2019-04-12 10:18:01 332

转载 linux查看文件大小信息,df -h和du -sh查询命令查询结果不一样

df -h查看系统中文件的使用情况 Size 分割区总容量 Used 已使用的大小 Avail 剩下的大小 Use% 使用的百分比 Mounted on 路径地址FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。d...

2019-04-12 10:01:17 658

转载 Android动画原理分析

Android动画原理分析 最近在Android上做了一些动画效果,网上查了一些资料,有各种各样的使用方式,于是乘热打铁,想具体分析一下动画是如何实现的,Animation, Animator都有哪些区别等等。首先说Animation(android.view.animation.Animation)对象。无论是用纯java代码构建Animation对...

2019-04-10 10:13:07 383

转载 从FrameCallback理解Choreographer原理及简单帧率监控应用

简单来说,Choreographer主要作用是协调动画,输入和绘制的时间,它从显示子系统接收定时脉冲(例如垂直同步),然后安排渲染下一个frame的一部分工作。自定义FrameCallbackFrameCallback是和Choreographer交互,在下一个frame被渲染时触发的接口类。开发者可以设置自己的FrameCallback。我们就从自定义FrameCallback作为切入口,尝...

2019-04-10 10:10:20 903

转载 systrace使用方式

前文有分析使用linux下的trace Linux trace使用入门 ,这里再次记录下android系统中比较实用的性能分析工具 systrace撰写不易,转载需注明出处:http://blog.csdn.net/jscese/article/details/48373319本文来自 【jscese】的博客!...

2019-04-08 17:12:37 194

转载 Android 死锁问题分析记录

binder thread 和 ActivityManager之间发生死锁Traces:"ActivityManager" prio=5 tid=12 Blocked ... at ActivityManagerService.updateCpuStatsNow(ActivityManagerService.java:3107) - waiting to lock <0x00...

2019-04-04 15:38:14 783

转载 通过Android trace文件分析死锁ANR

    对于从事Android开发的人来说,遇到ANR(Application Not Responding)是比较常见的问题。一般情况下,如果有ANR发生,系统都会在/data/anr/目录下生成trace文件,通过分析trace文件,可以定位产生ANR的原因。产生ANR的原因有很多,比如CPU使用过高、事件没有得到及时的响应、死锁等,下面将通过一次因为死锁导致的ANR问题,...

2019-04-04 14:18:32 283

转载 Android 分析ANR和死锁

一 Google官网对分析ANR日志和死锁的阐述ANRs and deadlocks(Reading Bug Reports章节)Bugreports can help you identify what's causing Application Not Responding (ANR) errors and deadlock events.Identifying unrespon...

2019-04-04 14:09:57 341

转载 ADB常用指令与logcat日志

ADB命令简介  ADB是一个功能强大的命令行工具。通过它可以直接和模拟器或真机进行交互。它是一个具有客户端和服务器端的程序。  它主要由三个部分组成:客户端,它运行在你的开发机上,你可以通过执行adb命令来唤起一个客户端。其他的工具例如:ADT插件以及DDMS也可以创建一个ADB客户端。服务端,它运行在你的后台进程,这个服务管理客户端和运行在你模拟起或真机上的守护进程。守护进程,它运行...

2019-03-28 16:03:17 188

转载 浅谈android性能优化之启动过程(冷启动和热启动)

本文介绍了浅谈android性能优化之启动过程(冷启动和热启动) ,分享给大家,具体如下:一、应用的启动方式通常来说,启动方式分为两种:冷启动和热启动。1、冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。2、热启动:当启动应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程是依然会保留在...

2019-03-27 10:15:17 301

转载 Android Log篇

        从事Android开发的这些年中,经常碰到这样一个现象:同一款app中,往往有好几种风格迥异的log处理方式,有时候会让维护者晕头转向。同时笔者也经常碰带一些模棱两可的问题:Log等级分好几种,到底什么情况下用哪个等级的log?什么情况下可以使用log,log怎么用,为什么要这么用?Android的log这么多,要怎么样高效地查看log?带着...

2019-03-26 16:16:29 207

转载 Android App进程中最少有几个线程

当应用程序组件启动,且应用程序没有其他组件运行时,Android系统为这个应用程序启动一个新的Linux进程,并开始运行一个主线程。默认情况下,同一应用程序的所有组件都在同一进程的主线程中运行。如果应用程序组件启动,并且已经存在该应用程序的进程(因为应用程序中的其它组件已经启动),则组件将在该进程中启动,并使用相同的主线程。但是,您可以通过设置让应用程序中的不同组件分别在不同的进程中运行,并且可以...

2019-03-26 14:48:03 2317 1

转载 Android 7.0 中 ContentProvider 实现原理

导语: 本文描述了ContentProvider发布者和调用者这两在Framework层是如何实现的。作为Android的四大组件之一,ContentProvider作为进程之间静态数据传递的重要手段,其在系统级别的应用中起了重大的作用。毫无疑问,ContentProvider核心机制之一也是Binder,但是和其它3大组件又有区别。因为ContentProvider涉及数据的增删查改...

2019-03-26 14:45:26 154

图像处理与指纹识别

图像处理和指纹识别的相关文档的说明 硕士论文

2015-07-27

matlab函数速查手册

第1 章 MATLAB 操作基础 第2 章 矩阵及其基本运算 第3 章 数值计算函数 第4 章 符号运算函数 第5 章 概率统计 第6 章 绘图与图形处理 第7 章 MATLAB 程序设计 第8 章 Simulink 命令

2015-07-27

指纹识别算法的研究

指纹识别 和mailab的程序教程,叫你怎么使用matlab

2015-07-27

空空如也

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