自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (8)
  • 收藏
  • 关注

原创 有趣的值传递与引用传递

java中有趣的值传递与引用传递

2022-02-11 12:46:33 492

原创 二叉树剪枝

面试高频算法题 常见的二叉树剪枝问题 图解分析

2022-01-25 23:44:02 506

原创 webview 崩溃问题 android 9.0 10.0 上共享文件目录导致的崩溃解决

android webview 崩溃问题 WebView.setDataDirectorySuffix() 9.0 10.0 多进程崩溃问题,共享目录问题解决

2022-01-25 23:40:49 3154

原创 大厂APK 瘦身手段

APP 包体积优化,瘦身的常见手段,资源,代码的极致压缩

2022-01-21 12:21:16 2249

原创 Android OOM 问题

OOM 问题浅析

2022-01-21 12:18:34 101

原创 Handler 常见打开姿势及踩坑分析

Handler 一般使用及常见踩坑分析,面试必问handler...

2022-01-21 12:12:43 2323

原创 构建最大堆(数组化表示)与堆排序

构建最大堆(数组化表示)与堆排序1. 最大堆的数组化表示假设有一个数组 int[] arr = {8,9,10,11,12,13,14};用它来构建最大堆2. 基本思路最大堆或最小堆都是完全二叉树,利用这个性质,先按照数组顺序构建最简单的完全二叉树从最后一个节点的父节点(arr.length / 2 - 1)开始 逐次调整位置,开始构建最大堆2.1 若父节点小于左节点,父节点与左节点互换,继续调整2.2 若父节点小于右节点,父节点与右节点互换(注意是经过2.1),继续调整3. 构建示意图

2021-08-04 10:32:31 1462 2

原创 Android字节码插桩demo

Android字节码插桩demo1. 基本概念1.1 java字节码Java字节码是Java虚拟机执行的一种虚拟指令格式。可通过javac 编译java文件得到字节码文件。javap 分析字节码文件内容。1.2 插桩面向切面编程的一种编程实现。在需要统一处理的切面上,增加额外代码功能。具体而言就是在编译期(class --> dex 阶段)修改class文件的结构,达到统一处理目的。2. demo目标针对被注解修饰的全部方法,执行插桩,方法进入及离开时,记录系统时间,以实现统计方

2021-08-04 10:22:10 138

原创 Android字节码插桩demo

Android字节码插桩demo1. 基本概念1.1 java字节码Java字节码是Java虚拟机执行的一种虚拟指令格式。可通过javac 编译java文件得到字节码文件。javap 分析字节码文件内容。1.2 插桩面向切面编程的一种编程实现。在需要统一处理的切面上,增加额外代码功能。具体而言就是在编译期(class --> dex 阶段)修改class文件的结构,达到统一处理目的。2. demo目标针对被注解修饰的全部方法,执行插桩,方法进入及离开时,记录系统时间,以实现统计方

2021-06-18 01:23:19 168

原创 排序

快速排序1.快速排序思想1.1分治法1.2 主要思路1.快速排序思想1.1分治法快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列1.2 主要思路以一个数字为锚点,例如初始时取第一个数字。设两个指针分别指向数组的头和尾,然后依

2020-10-05 15:30:33 87

原创 Binder 机制研究,demo + 解析

github demo 地址:https://github.com/jjbheda/aidl_demo#1. 基本定义##1.1 IPCIPC (Inter Process Communication,进程间通信。指至少两个进程或线程间传送数据或信号的一些技术或方法。##1.2 AIDLAIDL (Android Interface Definition Language)Andro...

2020-03-23 22:53:02 295

原创 基于亿级设备梳理下Android存储目录结构体系,及特例机型

Android存储所有Android设备都有两个存储区域:“内部”存储和“外部”存储,这些名词是Android早期产生。一些设备会把内置存储介质(通常为Flash)划分为系统分区和扩展分区,即使没有扩展sd卡,也会有“内部”存储和“外部”存储之分。因此,内部存储通常是指系统分区(/data所在分区),外部存储通常指扩展分区,可以在内置Flash上,也可以是移动存储介质;本文名词解释1、...

2019-12-28 23:24:26 469

原创 Android卡顿分析方法及解决思路总结(结合实例)

前言:页面绘制基础绝大多数渲染操作依赖两个硬件: CPU 、 GPU 。CPU 负责 Measure 、 layout 、 Record 、 Execute 的计算操作。GPU 负责栅格化(Rasterization):将 Button 、 Shape 、 Path 、 Bitmap 等资源组件拆分到不同的像素上显示...

2019-02-20 23:28:08 4340

原创 SharedPreferences 源码分析及踩坑指南

SharedPreferences 源码分析及使用事项作为Android 轻量级的存储工具,SharedPreferences被广泛使用,API 简洁明了,易学易用,为广大程序小哥哥们喜闻乐见。殊不知,一片和谐的环境下,蕴藏着不少危机,本文将从源码角度进行解析,并附上踩过的一些坑。一般用法SharedPreferences pref = mAppContext.getSha...

2018-07-03 07:32:28 1323

原创 掌握 Android Proguard 配置使用之二 语法详解

混淆在直观上理解,针对的是类名或者方法名,成员名1. 关于第三方类库    使用 -libraryjars /android-support-v4.jar 这种方式,会粗暴的将第三方库所有文件,全都避免混淆    可选择: -keep class com.huawei.android.pushselfshow.**{*};2. keep  语法 2.1

2017-03-31 18:12:48 489

原创 掌握 Android Proguard 配置使用之一 总览

1. Android Proguard 作用ProGuard 会检测和移除封装应用中未使用的类、字段、方法和属性,包括自带代码库中的未使用项(这使其成为以变通方式解决 64k 引用限制的有用工具)。ProGuard 还可优化字节码,移除未使用的代码指令,以及用短名称混淆其余的类、字段和方法。混淆过的代码可令您的 APK 难以被逆向工程,这在应用使用许可验证等安全敏感性功能时特别有用。

2017-03-27 16:58:30 2089

原创 谷歌官方 MVVM-DataBinding Demo

MVVM-DataBinding的官方实例https://github.com/googlesamples/android-architecture/tree/dev-todo-mvvm-databinding/

2017-03-20 14:05:13 1261

原创 Error:java.lang.NullPointerException (no error message)

Android studio 遇到这个奇葩问题,rebuild,clean都无效。网上淘来的方案,亲测有效.删除工程下.gradle 目录,重启。问题解决

2017-03-20 09:59:14 1166

转载 Freeline - Android平台上的秒级编译方案

摘要: Freeline是蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队在Android平台上的量身定做的一个基于动态替换的编译方案,稳定性方面:完善的基线对齐,进程级别异常隔离机制。性能方面:内部采用了类似Facebook的开源工具buck的多工程多任务并发思想, 并对代码及资源编译流程做了深入的性能优化。原文链接 https://yq.aliyun.com/articles/59122

2017-03-17 17:00:26 307

转载 React Native for Android 异常处理概览

原文链接http://mp.weixin.qq.com/s/aWuenpGOKug4fovT5uKXTQ

2017-03-17 16:47:42 355

原创 android 屏蔽用户快速点击

android开发中,用户快速点击,通常意味着误操作,比如点击提交按钮。考虑到误操作出现的频率比较高,需要前端处理下这个事件。很简单的一段代码,作用还是很大的。public class DoubleCheckUtil { private static long lastClickTime; private final static int SPACE_T

2017-03-17 16:21:46 681

原创 定期翻译 国外开源库,技术文章的网站

一个定期翻译国外Android优质的技术、开源库、软件架构设计、测试等文章的开源项目 http://www.devtf.cn

2017-03-16 22:06:34 331

原创 android 自定义控件系列之一 圆形图控件

1.使用背景原型图,代码中经常用到。经常需要将头像,或者摄影图片等显示为圆形。如果你跟美工MM合作愉快,要个圆图万事大吉,但通常这种图,都是要自己处理下的。一方面美女妹纸,除了给你提供圆图,可能还要跟IOS交互,未必愿意出多张图。另一方面,如果一个程序猿,经常需要处理圆形图,又没有自己封装好工具类,那工作效率就拉低了。废话不多说,直接上代码。2. 使用效

2017-03-16 16:50:14 546

原创 apk瘦身计划---dex拆包定制,精准测量分模块占比

1. 需求驱动 ---精准监控统计apk包体积  目前各应用APP 包体积,日渐增大,各个公司都在提出精简包体积的要求。这个过程中,除了图片,so库,第三方library,混淆效率这些维度进行分析,统计,代码层面,统计的力度比较低,本博文重点从代码文件角度,分析统计。 2. 背景:大部分公司都是各部门之间分工合作完成整个apk的开发。如果部门老大希望精确知道每个部门或模块,到底为最

2017-03-15 19:05:02 1029

原创 android 降低Crash率的方案分析和解决思路,干货分享

android应用,过高的Crash率影响用户的体验。降低Crash率对提升产品的功能和性能从而改善用户的体验具有重大的意义。涉及层面:Crash率涉及到各个层面包括各个BU的开发人员的代码质量,Android本身的系统问题,第三方的框架问题比如图片加载库等,armeabi兼容armeabi-v7和armeabi-v8以及新的arm体系结构的问题,Andro

2017-03-13 15:20:17 3788

转载 Android 设计开发及命名规范

转载自 http://www.ctolib.com/AndroidStandardDevelop.html安卓开发规范http://www.ctolib.com/AndroidStandardDevelop.html

2017-03-13 10:29:26 265

转载 Android 小白 打怪升级学习路线图,晋升高手之路

一、java(a)基本语法(如继承、异常、引用、泛型等)Java核心技术 卷I(适合入门)进阶Effective Java中文版(如何写好的Java代码)Java解惑 (介绍烂Java代码是什么样的)(b)多线程、并发Java并发编程实战 (系统全面的介绍了Java的并发,如何设计支持并发的数据结构)(c)Java 7Ja

2017-03-13 10:17:47 1148

原创 android调试开发利器 ADB Debug

平时android开发工作,经常要用到设备调试,很多不是很熟悉ADB命令,其实ADB调试很方便,而且功能很强大。1.定义:Android 调试桥 (adb) 是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。该工具作为一个客户端-服务器程序,包括三个组件:客户端:计算机上运行。发送命令。发出 adb 命令从命令行终端调用客户端。后台程序:设备上运行...

2017-03-11 16:37:59 1961 1

原创 android常见Crush问题归纳及解决方案( bugly 汇总)

android crush 问题汇总

2016-11-18 16:02:34 1452

原创 android studio appcompat-v7:22.0.0包与support-v4:22.0.0包问题

android studiod buildToolsVersion 选择22以上版本时,经常出现找不到 appcompat-v7:22.0.0包与support-v4:22.0.0包

2015-06-02 14:55:24 686

转载 Android SlidingMenu 使用详解

很多APP都有侧滑菜单的功能,部分APP左右都是侧滑菜单~SlidingMenu 这个开源项目可以很好帮助我们实现侧滑功能,如果对SlidingMenu 还不是很了解的童鞋,可以参考下本篇博客。将侧滑菜单引入项目的方式很多中,本博客先通过例子介绍各种引入方式,然后给大家展示个实例:主布局ViewPager,左右各一个侧滑菜单的用法,差不多已经能满足大部分应用的需求了。关于常用属性,在文章末尾介绍。

2015-05-30 20:05:14 287

android.tools.build:gradle: 2.2.2 源码

android.tools.build:gradle: 2.2.2 源码,有需要分析gradle 编译过程,task任务分析,hook task 相关的童鞋,拿去。

2017-03-13

html5 离线数据库

最近要出去面试,不少都要了解Html5技术,特别是,离线数据库,离线缓存之类的。 这是个例子,可以运行起来看看,具体是如何创建数据库,插入表等。

2013-03-21

jdk 1.6 英文html文档

网上搜了一堆,好多不支持索引功能,下下来,不好用。在csdn上也是,下了几个30几M的,不好用,恶心人。 这个是找到的很好用的,比较全。供大家分享。可能的话,留个言。不要让人净下些不好用的,白浪费分。

2011-10-11

java 张孝祥就业培训课程 PDF扫描版

张孝祥的java就业培训教程,高清PDF扫描版

2011-10-08

ti提供的MSP430+CC2500的驱动实例

TI提供的关于CC2500的简单,发射与接收。这段代码,可以作为初学者的参考程序,可以很方便的移植到自己的代码文件上来。

2010-07-30

单片机模拟I2C总线及AT24C01应用实例

I 2 C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设 备。I 2 C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。 例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网 络、系统温度等多个参数,增加了系统的安全性,方便了管理。

2010-04-05

MSP430 I2C操作

I2C 程序模块,I2C的操作实例。有兴趣的下下来看看,可以作为初学者的参考文档。

2009-11-15

csharp串口调试助手

关于用CSHARP编写的串口调试助手。功能比较简单,但是对于初学者来说,刚开始不太容易掌握较复杂的。

2009-04-07

空空如也

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

TA关注的人

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