自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (6)
  • 收藏
  • 关注

转载 epub电子书--目录结构介绍

转载:https://www.cnblogs.com/diligenceday/p/4999315.html阅读目录  epub电子书简介   修改epub文件的作者书名等相关信息   epub电子书的内部结构   1、文件:mimetype   2、目录:META-INF   3、目录:OEBPS修改epub文件的作者书名等相关信息epub文件用压缩软件打开以后直接可以看到源代码, 所以这种格式的电子书开放性非常好, 我们可以更改它的源代码, 比如你下载了了一本为“Rabbit,.

2020-07-28 10:31:40 2714

转载 dpi 、 dip 、分辨率、屏幕尺寸、px、density 关系以及换算

转载:https://www.cnblogs.com/yaozhongxiao/archive/2014/07/14/3842908.html一、基本概念dip : Densityindependent pixels ,设备无关像素。 dp :就是dip px : 像素 dpi :dots per inch , 直接来说就是一英寸多少个像素点。常见取值 120,160,240。我一般称作像素密度,简称密度 density: 直接...

2020-07-07 11:20:36 11280

转载 ZIP压缩算法详细分析及解压实例解释

转载:https://www.cnblogs.com/esingchan/p/3958962.html最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据压缩,两者本质上没啥区别,在数学家看来,都是映射。一方面在进行通信的时候,有必要将待传输的数据进行压缩,以减少带宽需求;另一方面,计算机存储数据的时候,为了减少磁盘容量需求,也会将文件进行压缩,尽管..

2020-06-18 10:12:15 1269

转载 OPDS Catalog 1.2 Open Publication Distribution System开放式出版发布系统介绍

OPDS Catalog 1.2The Open Publication Distribution System (OPDS) Catalog format is a syndication format for electronic publications based on Atom and HTTP. OPDS Catalogs enable the aggregation, distr...

2020-01-08 11:26:31 417

转载 native crash相关小结

一、native crash捕获原理native crash捕获的原理摘选完善自:Android 开发中常见 Crash 的情况。native crash捕获主要利用了Linux的信号机制(进程间通信方式的一种)。当应用程序异常,Linux内核将产生的错误信息通知当前进程。当前进程在接收到该错误信号后,可以有三种不同的处理方式。(1)忽略该信号。(2)捕捉该信号并执行对应的信号处理函数(s...

2019-12-26 15:17:57 761

转载 SIGBUS:BUS_ADRERR for stack access violation in memcpy

http://www.voidcn.com/article/p-ehbjknbs-bcc.html记录一个发生在copy constructor中的SIGBUS:BUS_ADRERR的trouble shooting,涉及三个点1. In memcpy again2. SIGBUS:BUS_ADRERR for stack access3. copy constructor...

2019-12-26 14:18:39 1327

原创 Mac笔记本Android开发配置:

Mac笔记本Android开发配置:1.Android studio配置篇1.1皮肤配置 Android studio - > preferences - > plugins 联网搜索:Material Theme UI主题安装插件应用 修改皮肤色:Appearance & Beha...

2019-12-26 12:06:02 561

转载 安卓捕获RuntimeException,ANR,Native信号异常

三大崩溃众所周知,安卓端有三大崩溃,都会造成应用崩掉,分别是RuntimeException java端的运行时异常.比如一些空指针之类的,发生时应用会崩溃. ANR 安卓为了用户体验设的保护机制,在应用在主线程做耗时操作的时候,长时间无响应会产生,一个问用户是否要继续等待的选择框,若用户选择关闭,或者长时间不选择,都会造成应用关闭. Native信号异常 当我们的代码导...

2019-12-25 14:10:15 673

原创 通知报错

https://stackoverflow.com/questions/25317659/how-to-fix-android-app-remoteserviceexception-bad-notification-posted-from-pacIn my app, this kind of bug happens only during upgrading. If the resour...

2019-12-16 20:24:46 206

转载 SharedPreference apply 引起的 ANR 问题

转发:作者:字节跳动技术团队链接:https://www.jianshu.com/p/9ae0f6842689来源:简书简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。项目中 ANR 率居高不下,从统计上来看排在前面的有几个都是 SharedPreference(以下简称 SP)引起的。接下来我们抽丝剥茧的来分析其产生原因及如何解决。crash 堆栈信息如...

2019-05-21 19:48:08 2710

转载 Android应用开发管理app内存

转自谷歌官网:https://developer.android.google.cn/topic/performance/memory.html#java管理你的应用程序的内存随机存取存储器(RAM)是任何软件开发环境中的宝贵资源,但在物理内存经常受到约束的移动操作系统上它更有价值。虽然Android Runtime(ART)和Dalvik虚拟机都执行例行垃圾收集,但这并不意味着您可以忽略...

2019-04-16 19:17:35 287

转载 MAT 使用

Eclipse MAT内存分析工具(Memory Analyzer Tool)https://cloud.tencent.com/developer/article/1361381MAT使用进阶(使用方法)https://blog.csdn.net/mynamepg/article/details/81560800...

2019-04-12 11:37:49 138

转载 Android 自定义attr Style styleable以及其应用,应用界面主题Theme使用方法

Android 自定义attr Style styleable以及其应用,应用界面主题Theme使用方法http://www.jianshu.com/p/61b79e7f88fc相信每一位从事Android开发的猿都遇到过需要自己去自定义View的需求,如果想通过xml指定一些我们自己需要的参数,就需要自己声明一个styleable,并在里面自己定义一些attr属性,这个过程相信大家...

2019-04-12 11:07:10 398

原创 Android.mk的用法和基础

部分是参考别人借鉴,便于自己查看学习。一个Android.mk file用来向编译系统描述你的源代码。具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次。你可以在每一个Android.mk file中定义一个或多个模块,你也可以在几个模块中使用同一个源代码文件。编译系统为你处理许多细节问题。例如,你不需要在你的Android.mk中 列出头文件和依赖文件。NDK编...

2019-04-12 10:52:21 348

原创 Android Apk反编译

apkTool:https://ibotpeaches.github.io/Apktool/操作步骤: WIN7下载附件apktool压缩包,解压得到apktool文件夹,里面包含apktool.bat和apktool.jar 启动Window命令行窗口,进入到apktool文件夹 执行如下命令:apktool>apktool d ../apk/es.apk 这里es.apk...

2019-04-10 16:55:01 311

原创 如何配置自定义gradle

1. 自定义config.gradledef versions = [:]versions.support = '1.0.0-beta01'versions.constraint_layout = '1.1.2'versions.junit = "4.12"versions.test_runner = '1.1.0-alpha4'versions.test_espresso = '...

2019-03-01 16:19:52 977

原创 关于通知是否显示角标

应用发通知时,可以设置是否显示徽章:设置接口:channel.setShowBadge(true); 修改为false既不显示。411 private void createNotificationChannel() {412 Log.d(TAG, "createNotificationChannel");413 if (mNotification...

2019-01-03 10:20:52 2187

原创 Android9.0平台SystemUI通知显示流程

 根据如上流程,如果需要对通知栏和下拉通知某包名的进行屏蔽,可以在数据地方做考虑,即NotificationData中的filterAndsort中,对不需要的包名跳过即可。...

2018-12-21 18:38:21 5451 1

原创 关于Android原生View默认焦点高亮的问题

例如:在8.1 Launcher3界面,连接蓝牙鼠标,点击Folder或者进入Allapss界面,会发现个别应用或者Folder会有背景高亮显示分析:通过本地对Launche3的代码布局进行check,并没有设置任何背景,因此,初步怀疑为谷歌原生View中在某种状态下设置了什么东东,以至于在满足某种情形下,如鼠标悬停,会有个别View背景高亮显示。下一步对谷歌原生View.java进行...

2018-12-13 17:22:07 4818

转载 Android性能优化之内存泄漏

相关文章: 利用 Android Profiler 测量应用性能----官方https://developer.android.com/studio/profile/android-profiler?utm_source=android-studio  (一)   使用 CPU Profiler 检查 CPU Activity 和函数跟踪        https://deve...

2018-12-03 16:02:49 157

原创 Android View 的文档注释说明

frameworks/base/core/java/android/view/View.javaThis class represents the basic building block for user interface components. A View occupies a rectangular area on the screen and is responsible for ...

2018-11-23 13:01:49 441

原创 androidO 行为变更输入和导航

输入和导航随着 Android 应用出现在 Chrome 操作系统和平板电脑等其他大尺寸设备上,我们看到,用户在 Android 应用中又重新开始使用键盘导航。在 Android O 中,我们又再次使用键盘作为导航输入设备,从而为基于箭头键和 Tab 键的导航构建了一种更可靠并且可预测的模型。尤其要指出的是,我们对元素焦点行为做出以下变更: 现在,如果您没有为 View对象(前景或背...

2018-11-21 16:25:30 259

原创 关于launcher3中view的坐标计算含义

/** * Given a coordinate relative to the descendant, find the coordinate in a parent view's * coordinates. * * @param descendant The descendant to which the passed coordinate is relative. * @par...

2018-10-12 19:53:03 263

原创 Activity设置为不随系统语言变化重新onCreate,如何更新该Activity字符串显示

如果当切换系统语言后,需要更新界面的某些字符串资源显示,可以参考如下两种方法:首先可以监听切语言变化的通知,可以使用广播或者监听配置变化注册广播:<action android:name="android.intent.action.LOCALE_CHANGED" />Activity中覆写:public void onConfigurationChanged(Co...

2018-07-26 13:56:11 1835

原创 Android view自定义实例- 使用进度百分比圆形View

View的绘制流程:onMeasure()  // 一般进行计算测量视图宽和高等onLayout()    // 进行布局,分别size和位置给视图onDraw()      // 绘制视图view我们经常遇到应用中需要显示一个进度比或使用情况占比的圆形视图,中间显示内容和进度比。实现思路:自定义一个View,使用两个Paint 画笔分别用来画圆形视图的背景和使用进度;再使用两个TextPaint...

2018-06-12 15:04:17 316

原创 AndroidP 限制访问Hidden API 相关信息

Android9.0开始,谷歌启用限制非SDK API的访问,包括hide方法和类,以及通过反射机制访问等。这些变更行为提交可参考:https://android-review.googlesource.com/q/owner:dbrazdil%2540google.comEmail: [email protected]: Nov 25, 2014 关于设置模块可以访问 hide方...

2018-05-31 18:24:34 1401

原创 Java File 遍历、删除、复制功能实现

import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;public class TestFile { /** * @param args */ public static void main(String[] args) { // TODO Auto-gene...

2018-04-27 15:14:41 432

原创 View事件分发流程

App应用界面结构:1.      关于Activity的事件分发开始dispatchTouchEvent:dispatchTouchEvent:   Activity - > PhoneWindow -> DecorView(继承FrameLayout(ViewGroup)) DecorView.superDispatchTouchEvent() 调用父类super.dispatch...

2018-03-31 18:36:52 177

原创 权限检查申请小框架

Android应用程序为了用户的安全,引入相关的权限机制,如何在应用中有效检查权限,而不需要每个地方都重复性的进行检查、请求、回调的编码呢?思路:应用中A activity进行权限检查,无权限启动一个专门的权限activity,申请权限,完成后,再启动原A activity.1. 自定义基类 RequestPermissionsActivityBase/* * Copyright (C) 201...

2018-03-30 08:58:29 241

原创 关于monkey测试通过不同入口Intent启动app引起的anr分析

问题的根本原因是monkey测试时,com.android.quicksearchbox 应用查找FileExplorer应用并启动FileExploreActivity,创建对应的 task root activity,后续在发生问题期间并未有该token的activity finish及task id 被remove行为;在这个期间monkey测试大量启动了uid 0的FileExploreA...

2018-03-26 16:42:21 1042 1

原创 8.1 平台Activity启动流程

8.1 平台Activity启动流程该堆栈分为两部分:(1) launcher 点击启动App(2) App中启动其他Activity第一部分: Launcer 启动Activity1.1 执行顺序 Activity.startActivityForResult() -- > Instrumentation.execStartActivity() -- > ActivityManage...

2018-02-13 15:59:35 887

原创 设计模式 代理模式-java RMI远程代理

代理模式: 为另一个对象提供一个替身或者占位符以控制对这个对象的访问。使用代理模式创建代表,让代表对象控制某对象的访问,被代理的对象可以是远程的对象、创建开销大的对象或需要安全控制的对象。RMI 全称Remote Method Invocation,远程方法调用 ,rmiregistry含义:远程方法调用注册。RMI提供了客户辅助对象和服务辅助对象,给客户辅助对象创建的方法和服务对

2018-01-05 16:05:15 1246

原创 设计模式 状态模式

状态模式:   允许对象在内部状态改变时改变它的行为,对象看起来好像是修改它的类。1. 将状态封装成独立的类,并将动作委托到代表当前状态的对象,行为会随着内部状态而改变。 一个状态代表一种行为。2. 如果使用的对象能够完全改变它的行为,用户觉得这个对象是从别的类实例化得到。实际上,我们使用组合,通过简单引用不同的状态对象来造成类改变的假象。使用状态模式的优点: 随着软件的升

2018-01-05 10:47:19 132

原创 设计模式 组合与迭代器

迭代器模式:提供一种方法顺序访问遍历一个聚合(集合)对象中的各个元素,而无需暴露其(集合)内部的实现。组合模式: 允许将对象组成树形结构来表现“整体/部分”的层次结构,该树形结构可同时包容个别对象和组合对象。组合让客户以一致的方式处理个别对象和组合对象。组合结构内的任意对象称为组件,组件可以是组合,也可以是叶节点(无法再分)。下面以一个实例说明:1. 主函数public class

2018-01-04 16:16:30 226

原创 Android 资源网站

https://developer.android.google.cn/studio/index.html  // 谷歌开发者网站http://androidxref.com      // 在线查看谷歌源码,方便http://www.androiddevtools.cn/    // 中国国内提供的安装包https://www.techspot.com/downloads/

2017-12-16 16:02:18 409

原创 AndroidO 平台JNI机制的学习

第一章 JNI的含义JNI全称Java Native Interface,意指Java本地调用。JNI是一种技术,通过JNI我们可以做到如下两点:(1)    Java程序中的函数可以调用到Native语言编写的函数。Java-- >c/c++(2)    Native程序中的函数也可反向调用Java层的函数。c/c++  -- > Java在Android平台,JNI是上层Jav

2017-12-15 09:12:06 1027

转载 Aspect Oriented Programming in Android

Aspect Oriented Programming in Android转载:https://fernandocejas.com/2014/08/03/aspect-oriented-programming-in-android/03 Aug 2014Aspect-oriented programming entails breaking down prog

2017-09-28 13:32:43 254

原创 如何自定义绘制View

关于自定义View时代使用样式,风格,大小的资源定义不再介绍,这里注重介绍如何在onDraw(Canvas canvas)方法中去绘制所需要的VIew。主要体现在 Paint 、Canvas对象的使用:下面主要呈现一个类似手表的View的绘制:自定义View如下:package view;import com.example.testtone.M

2017-09-26 16:26:34 208

原创 谷歌原生DocumentUI文件浏览的原理

相信多数想了解谷歌DocumentUI设计思想的码农都会遇到障碍,文件浏览究竟是怎么实现的,进入DocumentUI的UI层,不难发现,我们是通过查询数据库获取cursor,但是查询的哪个数据库,怎么能够查询数据库就可以把文件层级一级级浏览呢?带着这些疑问,本地通过SourceInsight工具查找了所有的ContentProvider,谷歌原生有一个抽象类DocumentsProvider。

2017-09-14 14:25:53 7314

原创 获取缩略图

本文主要讲解说明图片和apk安装文件获取缩略图的实现方式1. 图片获取缩略图  思想: 主要根据BitmapFactory类为基础实现;              主要涉及到了 BitmapFactory.Options类对象及 BitmapFactory.decodeFile(String, Options)方法Options类用到的主要成员:1.  publ

2017-08-02 09:19:31 1005

关于谷歌原生外部存储访问写文件的SAF实现类

该压缩包实现了app可以使用访问手机外部存储卡写权限,app可以通过申请外部存储卡写权限,在外部存储任意目录进行创建、删除/重命名/拷贝/剪切等功能。

2019-01-04

Android 8.1zygote服务 SystemServer启动流程 Activity创建

Android zygote服务/SystemServer启动流程/Activity创建,本文档继承Android init的分析,继续往下分析Zygote进程、SystemServer进程的创建、Activity的建立

2018-02-26

Android8.1 init进程学习

本文档是基于Android8.1进行分析,对init进程的启动初始化工作进行了分析,包括解析init.rc配置文件,开启属性服务,开启socket监听子进程终止并处理,创建epoll_fd监听创建的其他fd,用来调用对应的处理函数;添加了几个触发器,会将添加的触发添加到列表,在while循环中,会根据列表添加的触发器去找到actions_容器,遍历执行on定义的一系列command,当然,service也是有class_start关键字定义的函数启动的,class_start命令启动classname名字为后面参数的service,例如zygote服务,classname是main. class_start对于函数会调用到Start()函数,创建servicefork()子进程。 更多的可参考文档。。

2018-01-22

Kotlin for Android(中文版)

Kotlin for Android(中文版),包含两个文件,本文档是谷歌推荐。

2017-12-18

Android studio配置创建JNI 安卓工程

本文档参考网上的博客,整理后,并在本地亲测 Android studio 3.0.1版本+编译SDK version 26,根据该参考文档, 自测成功调用到JNI层c++文件的实现。该文档作为自己Android studio使用JNI的配置工具。 优点:自定义宏命令,可在External Tools里查到并使用自定义的javah、native-build等命令,无需手动命令行执行。

2017-12-15

基于AndroidO平台JNI机制的学习

本文档是笔者个人针对系统androidO源码,参考《深入理解安卓卷一》的基础上,将案例MediaScanner的JNI通信整个流程进行了梳理,全文结构按照从上到下的结构进行了分析与总结。

2017-12-15

空空如也

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

TA关注的人

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