CankingApp
码龄13年
关注
提问 私信
  • 博客:1,010,532
    社区:1,340
    问答:1,917
    1,013,789
    总访问量
  • 193
    原创
  • 821,157
    排名
  • 273
    粉丝
  • 0
    铁粉

个人简介:微博:http://weibo.com/canking666 Blog: http://www.canking.win

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2012-02-03
博客简介:

常兴E站

博客描述:
Action Speak Louder Than Words.
查看详细资料
个人成就
  • 获得369次点赞
  • 内容获得214次评论
  • 获得260次收藏
创作历程
  • 3篇
    2018年
  • 11篇
    2017年
  • 9篇
    2016年
  • 8篇
    2015年
  • 28篇
    2014年
  • 49篇
    2013年
  • 123篇
    2012年
成就勋章
TA的专栏
  • 数据结构
    11篇
  • 随笔情调
    13篇
  • C语言学习
    3篇
  • C++学习
  • java学习
    26篇
  • 实用计算机知识
    23篇
  • C#学习
    6篇
  • Web
    11篇
  • ASP.net
    2篇
  • 数据库
    3篇
  • android
    133篇
  • android 游戏
    5篇
  • ubuntu
    15篇
  • git
    6篇
  • vi编辑
  • adb
    2篇
  • python
    1篇
  • hexo
    1篇
  • hexo
    1篇
  • java
    1篇
兴趣领域 设置
  • 编程语言
    java
  • 软件工程
    性能优化
  • 学习和成长
    面试
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

你最了解的 SharedPreference和ContentProvider 知多少?

在技术学习的道路上,往往最常见、用的最多地方,却有着容易忽略的技术细节。某个时间点蓦然回首,才发现最应该了解和掌握的技术基础,却由于缺少总结和记录、或者是因为常态思维固化缺少场景去思考,却显得那么陌生。这篇文章将从作者自身的角度,去重新认识SharedPreference和ContentProvider这两个控件,并且以后也会在博客中有意识的记录类似的技术细节,防止这些基础的技术细节问题再次被...
原创
发布博客 2018.04.01 ·
1093 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java内存问题思考

前些天,有人问到 “开发过程中常见的内存泄漏都有哪些?”,一时脱口而出:静态的对象中(包括单例)持有一个生命周期较短的引用时,或内部类的子代码块对象的生命周期超过了外面代码的生命周期(如非静态内部类,线程),会导致这个短生命周期的对象内存泄漏。总之就是一个对象的生命周期结束(不再使用该对象)后,依然被某些对象所持有该对象强引用的场景就是内存泄漏。这样回答很明显并不是问答人想要的都有哪些场景,所...
原创
发布博客 2018.03.26 ·
1058 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

安卓平台中的动态加载技术分析

安卓平台的动态加载原理,本质其实还是利用java相关知识实现。然而java语言中,开发人员能通过程序进行动态操作class的,主要是字节码生成和类加载器这两部分的功能。本文中也主要是围绕这两方面的技术,展开在安卓平台上的应用分析。阅读本文,一起宏观理解安卓插件化,热修复,模块化,AOP,Java类加载等知识。动态加载技术分析一、Java基础知识1、虚拟机类的加载剖析Java虚拟机把描述类的数据从Cl
原创
发布博客 2018.01.08 ·
896 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Lifecycle+Retrofit+Room完美结合 领略架构之美

安卓开发技术发展到现在已经非常成熟,有很多的技术专项如插件,热修,加固,瘦身,性能优化,自动化测试等已经在业界有了完善的或者开源的解决方案。 作为一枚多年的安卓研发,有必要学习或了解下这些优秀的解决方案,领略那些行业开创者的思想魅力,然后转化为自己的技术技能,争取应用到日常的开发中去,提高自己研发水平。Lifecycle+Retrofit+Room 云端漫步飞一般的感觉安卓项目的开发结构
原创
发布博客 2017.12.11 ·
7697 阅读 ·
4 点赞 ·
2 评论 ·
21 收藏

Gradle插件开发 APK瘦身资源自定义7z压缩

APK瘦身实战 资源自定义7z压缩项目开发中,随着业务的增长,常常需要在apk编译阶段对包代码或是资源做一定的自定义修改,比如热修复,插件生成,无埋点统计,渠道包生成等等。但是公司项目业务开发人员基本上都很少接触到相关技术,这里以学习的态度,实现一套用7zip压缩apk资源文件的gradle插件。APK瘦身在行业内已经有很多成熟的开源技术体现方案,如美团Android App包瘦身优化实践这篇博客中
原创
发布博客 2017.11.23 ·
2190 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

免sdk实现微信/支付宝转账打赏功能

安卓开发者都应该有一个属于自己的APP发布到市场,可以完善自己的技术站之外,加入广告,还可以有一份小收入。 但是这个年代,各家的应用市场是不欢迎带广告sdk的个人开发者应用的。还好我们可以用插件技术加入广告sdk,或者直接想一种方面实现打赏功能,让用户通过支付宝或微信转账到自己账户。免sdk实现 微信/支付宝 转账打赏功能安卓个人开发者如果如果想着App里实现支付打赏功能,嵌入sdk不说成本大外,
原创
发布博客 2017.09.21 ·
5637 阅读 ·
6 点赞 ·
2 评论 ·
13 收藏

知识总结之 插件化学习 Hook系统方法分析

这里主要讲的Hook,是利用java上的动态代理实现替换系统某个类,在方法调用过程中,利用反射,插入自己代码逻辑的一种方式。安卓插件化学习 Hook系统服务分析Hook技术主要用的是java的动态代理,掌握类动态代理,其实不难理解Hook原理,只不过是找到一个我们需要的Hook点,然后动态代理获取到系统目标类的代理对象,然后就可以在InvocationHandler中对想要修改的方法逻辑插入自己需求
原创
发布博客 2017.06.15 ·
1321 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

知识总结 插件化学习 Binder机制原理

Binder是android系统特有IPC方式,安卓平台中的各种服务交互基本都是Binder机制实现,理解和掌握Binder机制的实现原理可有效提升软件性能优化点,同时Binder机制的应用也是动态代理方式实现插件化基础。安卓插件化学习 Binder机制原理分析网上虽然已有很多Binder类似的优秀分析,本文处于自我学习目的,把我学理解和认识的东西记录一下。Binder设计结构理解1、通信进程两端两
原创
发布博客 2017.06.05 ·
757 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

知识总结 插件化学习 Activity加载分析

安卓插件化学习 插件Activity加载方式分析实现一套插件化项目很容易,但是投入生产环境,却很难。自己以学习为目的,主要分析其实现原理。在工作和学习过程中虽然用到或了解到多家安卓插件化实现方式及原理,自己并没有动手实现或参与公司插件化的研发,so业余时间从基础做起,总
原创
发布博客 2017.05.19 ·
883 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

知识总结之 插件化基础 java反射与代理

Java平台的反射机制是代码动态加载和调用的基本途径,在安卓系统源码中也用到了大量的反射动态加载类。反射也是安卓平台插件化实现的必要掌握的基础知识。代理是客户端灵活操作对象,间接的低耦合度操作对象的有效途径,也是插件化必要掌握知识。安卓插件化基础 java反射与代理一、反射java中反射机理比较常用,这里主要以代码实例展示其用法。什么是反射?指程序运行时 加载、获取一个未知类(已知类名)及类属性和方
原创
发布博客 2017.05.11 ·
963 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

知识总结之 插件化基础ClassLoader

安卓插件化技术已经作为一个优秀的合格研发必备要求,学习和掌握现有不同种类动态加载方案 是提升个人技术深度有效途径。插件化基础 ClassLoaderClassLoader是什么?ClassLoader 是将java编译后的字节码加载到虚拟机内存中的用到工具类。Android平台虚拟机Dalvik/ART可以运行的字节码为.dex文件,Java平台JVM虚拟机可以被加载的字节码为.class文件。针对
原创
发布博客 2017.05.05 ·
731 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

知识总结之 工厂模式

设计模式类的书及资料,看过很多遍,学习和理解容易,灵活应用就难了。只用多总结,多看别人代码,多多积累编码经验,才可以循序渐进,慢慢学会如何实战应用。设计模式-工厂模式定义简单工厂模式(静态工厂):定义一个创建对象的接口,在公共的接口方法中,通过不同的参数来创建目标对象。(里氏替换)工厂方法模式:定义一个用于创建对象的接口,目标对象实现该接口,并在方法中实现如何创建对象。(开闭原则)抽象工厂模式:定义
原创
发布博客 2017.05.02 ·
901 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

知识总结之 JobQueue 源码解析

知识总结之 JobQueue 源码解析本文主要分析及调研开源项目android-priority-jobqueue的基本原理及知识点,目的为更加深入的了解安卓平台后台 任务处理,及多线程调度的理解。Android Priority Job Queue一、JobQueue是什么? Priority Job Queue is an implementation of a Job Queue spe
原创
发布博客 2017.05.02 ·
2778 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

知识总结之 AsyncTask 源码解析

知识总结之 AsyncTask 源码解析虽然这个类没什么特别地方,也是很常用的类,前段时间面试发现很多公司还是很喜欢问到这个类的原理,及使用场景,so,这里做下总结。一、 一句话概括「AsyncTask = ThreadPool + Handler;」AsyncTasks是android提供的轻量级执行异步任务的类,提供了执行耗时任务的方法,及各个任务阶段UI线程回调。二、 优缺点优点 使用简单
原创
发布博客 2017.04.28 ·
722 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Gradle基本认识及理解

Gradle基本认识及理解Gradle是什么?gradle首先可以理解为一个项目构建工具,或者理解深入点,是一种编程框架,安卓项目最流行
原创
发布博客 2016.12.09 ·
2140 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

git log展示过滤技巧

git log命令展示过滤技巧1. git log -n 展示前n条数据2.git log –stat 展示简要的每次提交行数的变化,及其他基本信息。3.git log -p 展示每次提交详细的代码变化4.git log –pretty=oneline 用一行展示每次提交的commit id 和 提交注释信息5. git log –graph展示分支信息6.git lo
原创
发布博客 2016.11.08 ·
18093 阅读 ·
4 点赞 ·
3 评论 ·
9 收藏

辅助功能 之 小米手机悬浮窗权限

辅助功能 之 小米手机悬浮窗权限最近做项目遇到小米手机比较人(zhuang)性(bi)化的悬浮窗权限,当在小米手机上安装完应用后默认是关闭这个权限的,需要用户手动到应用详情页打开该权限。重(keng)要(die)的是使用这个权限开关系统window后, 小米手机不给任何提示就是不给弹窗。一开始以为是自己代码逻辑写错了,半天才反应过来,小米还有个这个权限,当天6.0以上安卓系统也需要这个权限,但是会有
原创
发布博客 2016.06.02 ·
18598 阅读 ·
1 点赞 ·
0 评论 ·
9 收藏

Node 升级工具n 大坑

npm install -g n 造成的大坑 dyld: Symbol not found: Referenced from: /usr/local/bin/node Expected in: /usr/lib/libstdc++.6.dylib Trace本文环境基于Mac OS X EI Capitan V10.11.4,应该是mac环境的通病。好奇心害死狗心血来潮想更新一下
原创
发布博客 2016.04.08 ·
21614 阅读 ·
0 点赞 ·
1 评论 ·
4 收藏

Android Theme-安卓样式换肤实践方案

所谓的主题切换,就是能够根据不同的设定,呈现不同风格的界面给用户,也就是所谓的换肤。 本文主要总结了目前作者所知的两种实现方案.概述一直以来,认为App换肤是件很酷的东西,不同用户可以自己打造喜欢的颜色,类似墨迹,QQ,或是软件夜间模式,给用户很酷的体验.在写这个换肤实践方案之前,我也参考了其他人的一些总结,基本上大家都是从这几个思路去实现, 如果出现有误或者不够详细的地方,希望大家提出意见或者自行
原创
发布博客 2016.03.31 ·
3166 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

视频转gif图片格式-好用的软件

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。引文博客中一直引用图片,感觉没有其他人博文中动态图更加有效果,一直以来因为懒,且markdown不
原创
发布博客 2016.03.30 ·
2462 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏
加载更多