自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android源码 目录

1. 根目录instruction:Master-android - eLinux.org文件夹名 内容 art 全新的ART运行环境 bionic 系统C库 bootable 系统启动引导代码 build 存放Android系统编译规则,以及generic等基础开发配置包。 cts Android 兼容性测试套件标准 dalvik Dalvik虚拟机 developers 开发者目录,包含构建App和一些demo代码

2022-04-25 20:11:00 5007

原创 Too many open files问题解决

在开发项目时,遇到以下问题:日志说明打开文件数量过多,超出系统的设置的最大文件数量,造成程序崩溃。如何知道系统打开的文件数量,以及具体文件,方便定位问题查看系统对打开文件数量的限制cat /proc/sys/fs/file-max输出为362802,即整个系统限制数量。查看整个系统已经打开文件数量cat /proc/sys/fs/file-nr第一列就是整个系统打开的数量查看单个进程的打开文件数量限制ulimit -n单个进程限制是1024个(不.

2021-08-30 10:59:00 672

原创 Cpu亲核力

获取指令集getprop ro.product.cpu.abi查看CPU是几核cat /proc/cpuinfo | grep ^processor | wc -l查看CPU有几个核在运行cat /sys/devices/system/cpu/online查看系统支持多少个核cat /sys/devices/system/cpu/present查看CPU核的运行频率cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq..

2021-06-30 10:52:17 144

原创 移除元素

题目给你一个数组 nums和一个值 val,你需要 原地 移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。示例2:给定 nums = [0,1,2,2,3,0,4,2], val = 2,函数应...

2020-08-13 09:29:10 115

原创 回文数

题目判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。Java代码 public boolean isPalindrome(int x) { .

2020-08-07 14:32:56 582

原创 整数反转

题目给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231,231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。Java代码:方案一:public int reverse(int x) { long result = 0...

2020-08-05 18:36:10 114

原创 无重复字符的最长子串

题目给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是"wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke"是一个子序列,...

2020-08-04 14:12:17 117

原创 两数相加

题目给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807Java解题方法:public ListNod...

2020-08-02 15:22:51 117

原创 两数之和

题目给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]Java解题方法:public int[] twoSum(int[] nums, int target) { ...

2020-08-01 13:07:21 78

原创 Android GC日志

GC日志分为两种情况,Dalvik虚拟机下的GC日志和ART虚拟机下的GC日志。1、DalvikDalvik虚拟机下的GC格式日志如下:D/dalvikvm: <GC_Reason> <Amount_freed>, <Heap_stats>, <External_memory_stats>, <Pause_time>引起...

2019-12-31 16:35:53 860

原创 Android 系统和Acitivity启动流程

在Android中,所有的应用程序进程与系统服务进程(SystemServer)都是有Zygote进程孕育出来的。当ActivityManagerService启动一个应用程序时,就会通过Socket与Zygote进程进行通信,请求它孕育出一个子进程来作为即将要启动的应用程序的进程。在系统中有两个重要服务:PackageManagerService和ActivityManagerService,都...

2019-03-23 12:06:45 193

转载 Android 系统架构

Android 是一种基于 Linux 的开放源代码软件栈,主要应用于ARM平台,但不仅限于ARM,通过编译控制,在X86等体系结构的机器上同样可以运行,下图所示为 Android 平台的主要组件。1、系统应用层Android 随附一套用于电子邮件、短信、日历、互联网浏览和联系人等的核心应用。平台随附的应用与用户可以选择安装的应用一样,没有特殊状态。因此第三方应用可成为用户的默认网络浏...

2019-03-16 17:20:14 403

转载 TraceView

一、TraceView的用处TraceView用于分析计算性能,流入某个方法过于耗时导致UI卡顿,或者某个方法调用次数过多,或者某个方法虽然并不占用太多内存但是占用了大量的CPU资源等等。二、获取TraceView文件的三种方式1:方式一:通过代码获取case R.id.bt_trace_view: Debug.startMethodTracing("custom");...

2019-03-10 16:39:57 225

转载 性能指标

前言:那些年我们用过的显示性能指标相对其他 Android 性能指标(如内存、CPU、功耗等)而言,显示性能(包括但不仅限于我们常说的“流畅度”)的概念本来就相对复杂。让我们更蛋疼的是,业界对显示测试评估方式也是丰富多样,这无疑更加重了我们对其理解的复杂程度。笔者简单搜集了一些业界中提及的显示性能指标,大家可以来品评一下:指标名称:FPS 相关资料:Android性能测试之fps获取...

2019-03-10 14:46:20 667

原创 Android内存—dumpsys命令

dumpsys 介绍Dumpsys用户系统诊断,它运行在设备上,并提供系统服务状态信息命令格式: adb shell dumpsys [system serbices]常用dumpsys命令如下:1、包信息查询子命令格式:adb shell dumpsys package [-h] [-f] [—checkin] [cmd]…2、activity信息查询子命令格式:adb sh...

2019-03-09 11:53:43 1384 1

原创 Android各版本的版本号、版本名、API及发布时间

Android版本 版本名 API 发布时间 9 Pie (Android P) 不是凤梨酥(PineappleCake) 28 2018年8月7日 8.1 Oreo(AndroidO) 27 2017-12-05 8 Oreo(AndroidO) 26 2017-03 7.1/...

2019-03-03 14:04:15 3030

原创 结构型(一)— 代理模式

    结构型模式描述如何将类或者对象结合在一起组成形成更大的结构。结构型模式的目的是通过组合类或对象产生更大结构以适用更高逻辑的需求,包括以下7种模式:代理模式装饰模式适配器模式组合模式桥梁模式外观模式享元模式代理模式1、介绍Provide a surrogate or placeholder for another object to control access to it.为其他对象提供一...

2018-07-15 16:52:17 144

原创 行为型(七)— 迭代器模式

1、介绍迭代器模式是最常用的几个模式之一,Java中的集合框架就是通过迭代器实现的。Provide a way to access the elements of aggregate object sequentially without exposing its underlying representation.提供一种方法访问一个容器对象中的各个元素,而又不暴露该对象的内部细节。2、使用场景...

2018-07-15 16:33:32 150

原创 Android Studio 打包混淆(二)

1、混淆打包配置  在Module中的build.gradle中添加task,具体如下:   方法一:task buildSdkJar(type: Jar, dependsOn: ['build']) { delete 'build/libs/speechsdk.jar' delete 'build/libs/speechsdkp.jar' //导出的jar文件名称 ...

2018-07-13 16:40:36 676

原创 Android Studio打包混淆(一)

1、基本套路2、巨坑: 内部类:必须一个一个的处理,所以写Code时避免使用内部类资源问题:

2018-07-13 11:15:32 223

原创 行为型(六)— 模板方法模式

1、定义定义了一个操作中的算法的框架,而将一些布骤延迟到子类中。是的子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。2、使用场景多个子类有公共方法,并且逻辑基本相同可以把重复的、复杂的、核心算法设计为模板方法,周边的相关的代码抽到父类中3、UML类图角色说明:抽象模板(AbstractClass)角色:定义了一个或多个抽象操作,以便让子类实现。具体模板(ConcreteClass)角色...

2018-07-07 15:56:56 225

原创 行为型(五)— 备忘录模式

1、介绍备忘录模式用于保存对象的当前状态,并且在之后可以再次恢复到此状态。其实现方式是要被保存的对象状态不能被对象从外部访问,目的是为了保护被保存的这些对象状态的完整性,以及内部实现不向外部暴露。2、定义在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个对象,这样,以后就可以将该对象恢复到原先保存的状态。3、使用场景4、UML类图角色如下:发起人(Originator)角色:负...

2018-07-01 13:43:08 321

原创 行为型(四) — 观察者模式

1、定义Define a one-to-many dependcy between objects so that when one object change state, all its dependents are notified and updated automaticallly.定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。2...

2018-06-24 18:10:41 146

原创 行为型(三)— 责任链模式

1、介绍多个节点首尾相连多构成的模型称为链。将这种结构应用到编程领域,将每个节点看作是一个对象,将一个请求对链式的首端发出,沿着链的路径传递给每一个节点对象,直到有对象处理了该请求为止,这种模式称为责任链模式。2、定义Avoid coupling the sender of a request to its receiver by giving more than one object a cha...

2018-06-18 11:06:53 157

原创 行为型(二)—状态模式

1、介绍状态模式中的行为是由状态决定的,不同的状态有不同的行为。状态模式与策略模式的结构一样的,但它们的目的和本质不同,状态模式的行为是平行的,不可替换的,而策略模式的行为是对立的,可替换的。2、定义Allow an object to alter its behavior when its internal state changes. The object will appear to cha...

2018-06-17 22:53:38 120

原创 行为型(一)—策略模式

1、定义Define a family of algorithms, encapsulate each one, and make them interchangeable.定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。2、

2018-06-17 20:54:53 139

原创 创建型(五)—建造者模式

1、介绍2、定义3、使用场景4、UML类图5、示例6、总结

2018-06-16 23:43:06 116

原创 创建型(四)—抽象工厂模式

1、介绍Provide an interface for creating families of related or dependent objects without specifying their concrete classes.意思是:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定它们的具体类。2、使用场景3、UML类图4、示例5、总结...

2018-06-16 17:05:50 109

转载 抽象类和接口的区别

自己的理解: 接口类描述的是行为 抽象类描述的是根源; 接口是对动作的抽象,抽象类是对根源的抽象。很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题。本文我们将仔细讨论这些话题。 在讨论它们之间的不同点之前,我们先看看抽象类、接口各自的特性。 抽象类抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承...

2018-06-13 12:45:56 111

原创 创建型(三)—工厂模式

1、介绍工厂模式又叫虚拟构造函数模式或者多态性工厂模式。可分为简单工厂、工厂方法和抽象工厂模式。简单工厂: 一个工厂类处于对产品类实例化的中心位置上,它知道每一个产品,决定哪一个产品应当实例化。优点是允许客户端相对产品创建的过程,并在系统引入新产品时无需修改客户端,但需要修改工厂类,在某种程度上支持开闭原则,但支持力度不够。工厂方法:是简单工厂模式的进一步抽象和推广,在该模式中,核心工厂类不在负责...

2018-06-10 21:58:19 139

原创 创建型(二)—原型模式

1、介绍Specify the kinds of Objects to create using a prototypical instance, and create new objects by copying this prototype. 意思是:用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。2、使用场景类的初始化需要消耗很多资源,包括数据、硬件等,通过原型拷贝可以避免这...

2018-06-10 12:09:39 194

原创 创建型(一)—单例模式

1、介绍在开发过程中,发现有时整个系统只需要拥有一个全局对象,这就可以应用单例模式。例如:在应用中,应该只有一个ImageLoader实例,这个ImageLoader中含有线程池、缓存系统、网络请求等,构造多个实例资源消耗多。2、使用场景Ensure a class has only one instance,and provide a global of access to it.意思是: 确保...

2018-06-09 22:24:31 179

转载 UML总结

推荐网址:https://www.cnblogs.com/jiangds/p/6596595.html

2018-06-09 11:16:34 141

转载 ListView和RecycleView比较

RecyclerView is a more advanced and flexible version of ListView. This widget is a container for large sets of views that can be recycled and scrolled very efficiently. Use the RecyclerView widget whe

2016-05-23 14:47:01 270

转载 http://blog.csdn.net/lmj623565791/article/details/50709663

Android 6.0 运行时权限处理完全解析

2016-03-22 10:42:57 697

组合数学习题精解

组合数学(第四版)习题解答,卢开澄版,答案清楚明了

2015-06-17

空空如也

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

TA关注的人

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