- 博客(14)
- 资源 (8)
- 收藏
- 关注
原创 符号表实现算法
符号表实现算法文章目录符号表实现算法1,二叉查找树数据表示:查找实现:插入实现:性能分析:2,平衡二叉树3,红黑二叉树定义:数据表示:旋转操作:插入操作:总结:4,散列表基于拉链法的散列表:基于线性探测法的散列表:5,各种符号表实现的性能总结:1,二叉查找树二叉查找树(BST)是一棵二叉树,其中每个结点都含有一个Comparable的键(以及关联的值),且每个结点的键都大于其左子树中的任意...
2018-12-18 17:26:28
1161
原创 手动生成Android的R.java文件
文章目录使用场景通过资源名和资源类型获取ID自动生成AutoR.java文件使用场景一般而言是不需要手动生成R.java文件的,对app开发而言,无疑是画蛇添足,对sdk开发而言,因为Android提供了aar的依赖方式,可以将资源文件一起打包入aar,最后集成方一起编辑生成R.java即可。然而,快要2019年了,仍然有一些强势的集成方/游戏开发商仍然在使用Eclipse开发,不支持aar...
2018-12-08 12:22:13
2495
原创 Swift中Arc机制,循环引用,弱引用,无主应用相关问题
自动引用计数Swift 使用自动引用计数(ARC)机制来跟踪和管理你的应用程序的内存 注意 引用计数仅仅应用于类的实例。结构体和枚举类型是值类型,不是引用类型,也不是通过引用的方式存储和传递。为了确保使用中的实例不会被销毁,ARC 会跟踪和计算每一个实例正在被多少属性,常量和变量所引用。哪怕实例的引用数为1,ARC都不会销毁这个实例example:class P...
2018-09-07 15:35:37
563
原创 7大排序算法
排序算法排序算法0,概览1,冒泡排序2,选择排序3,插入排序4,希尔排序5,归并排序6,快速排序7,堆排序7.1 优先级队列的定义:7.2 堆排序:0,概览稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。 不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。 时间复杂度:对排序数据的总的操作次数。...
2018-07-09 11:38:54
1098
原创 android gradle新版本中的implement、api 指令解释
先看文档解释:简单解释:A模块通过Implementation的方式依赖B模块,B模块通过Implementation的方式依赖C模块那么:A不能调用C模块中公开的接口,但是如果B模块通过API的方式依赖C模块,A模块就可以顺利调用到C中的接口。Google建议的原则:依赖首先应该设置为implement的,如果没有错,那就用implement,如果有错,那么使用api指令,这样会使编译速度有所增...
2018-04-03 09:59:55
2845
1
原创 避免在Release版本中引入Stetho调试工具, 自定义实现stetho-no-op
仿照leakcanary-no-op的做法,避免在Release版本中引入stetho编译Release版本,stetho类的实现为空,同时避免了编译报错的问题如何引入:allprojects { repositories { ... maven { url 'https://jitpack.io' } }}...
2018-03-29 11:35:59
591
转载 Gradle Tips
Gradle TipsGradle TipsContributing to Gradle tipsTip 1 Use Gradle WrapperTip 2 View Dependency GraphTip 3 Build a single projectTip 4 Exclude tasksTip 5 Profile your buildTip 6 Perform dry runT
2017-02-28 09:33:28
1707
原创 Android Contacts源码解析2
Android Contacts源码解析2Android Contacts源码解析24 ContactsProvider模块1ContactsProvider简介2数据库创建3主要数据库的表结构相互关系1data表2raw_contacts表3contacts表4mimetypes5其他表第一篇:Android Contacts源码解析14, ContactsProvider模块4.
2017-02-28 09:25:21
2901
原创 Android studio调试卡死问题 no such host as localhost
Now Launching Native Debug SessionProcess finished with exit code 0Execution finished because of: E1221 10:47:37.330400 3408614336 ProtobufClient.cpp:142] ERROR, no such host as localhost
2016-12-21 10:51:14
3064
原创 将JNI模块打包为AAR模块
1,指定为aar模块:apply plugin: 'com.android.library'2,指定源码目录,将已经打包好的so文件放入libs目录下 sourceSets { main { manifest { srcFile 'AndroidManifest.xml' }
2016-07-21 16:23:54
1906
原创 Android App版本依赖sdk定制版本,gradle脚本的配置问题
问题: 我们的App有多个productFlavors,也就是多个定制版本,依赖的sdk据此也有多个定制版本,和app是一一对应。之前使用maven管理项目时,直接在根目录使用pom insall -PxxxFlavors就可以直接编译出需要的版本。现在转为gradle之后,需要这样做:首先配置app和sdk的productFlavors:类似这样:android {
2016-07-20 17:14:36
868
原创 AndFix热修复Demo
AndFixDemo打第一个需要修复的版本的时候,需要你自己保存生成的mapping.txt文件,一般生成的mapping文件是在 AndfixTestDemo/app/build/outputs/mapping/release文件夹然后做你自己的修改,修改button点击事件中的代码,可以修改toast的内容,或者actionbar的标题,比如: getSupportActionB
2016-06-23 16:28:12
563
原创 Android6.0新特性,导致读取SD卡文件的权限错误,Exception 'open failed: EACCES (Permission denied)'
调试应用时发现错误:Exception 'open failed: EACCES (Permission denied)'在Android6.0以前的蛮荒时代,只需要简单的在AndroidManifest文件中声明权限即可:但是在API23++的版本上,谷歌似乎照搬了apple的安全机制,同时要求开发者需要使用API向用户弹出对话框请求权限,用户点击al
2016-06-22 13:08:36
3300
原创 Android contacts 联系人 通讯录 源码 完全解析
Android contacts 联系人 通讯录 源码 完全解析Android contacts 联系人 通讯录 源码 完全解析1简介2软件架构3各功能模块分析1联系人数据的显示1联系人列表显示2联系人详细信息数据的显示2联系人数据的编辑和存储1编辑界面相关2数据存储相关3Sim联系人数据的整合1Sim卡联系人数据的显示2开机自动导入Sim卡联系人3telephony中Ic
2016-02-15 21:41:30
19040
1
机器学习算法原理与编程实践
2018-03-30
App研发录—架构设计,Crash分析和竞品技术分析
2018-03-30
Android安全技术揭秘与防范 扫描版带目录
2018-03-30
Android源码设计模式解析与实战
2018-03-29
阿里巴巴Android开发手册.pdf
2018-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人