江三木洛
码龄14年
关注
提问 私信
  • 博客:95,907
    社区:595
    问答:7,759
    104,261
    总访问量
  • 29
    原创
  • 2,358,858
    排名
  • 32
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2011-02-12
博客简介:

江三沐洛的博客

博客描述:
江三沐洛的博客
查看详细资料
个人成就
  • 获得19次点赞
  • 内容获得14次评论
  • 获得82次收藏
创作历程
  • 4篇
    2018年
  • 24篇
    2017年
  • 1篇
    2016年
成就勋章
TA的专栏
  • 安卓-精彩案例
    6篇
  • Java-基础
    3篇
  • 安卓-原理分析
    14篇
  • RxJava
    1篇
  • 安卓优化
    3篇
  • 安卓-源码编译
    1篇
兴趣领域 设置
  • 数据结构与算法
    数据结构
  • 移动开发
    android studio
  • 软件工程
    性能优化
创作活动更多

仓颉编程语言体验有奖征文

仓颉编程语言官网已上线,提供版本下载、在线运行、文档体验等功能。为鼓励更多开发者探索仓颉编程语言,现诚邀各位开发者通过官网在线体验/下载使用,参与仓颉体验有奖征文活动。

368人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Java的垃圾回收机制

java在内存中大致可以分为新生代以及老年代,其垃圾回收机制也不相同。 新生代一般会分为三部分,一块较大的Eden空间和两块较小的Survivor空间,其空间大小比例一般为8:1:1,其中可以使用的有效部分为一块Eden和一块Survivor空间,即每次新生代中可用内存空间为整个新生代空间的90% 我们使用java创建新的对象时,大部分时间都会创建在Eden空间中,当Eden没有足够的空间容纳...
原创
发布博客 2018.06.20 ·
278 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

Android Studio 打包成jar文件并混淆代码

在Studio中混淆打包需要修改模块下的build.gradle文件和proguard-rules.pro文件1:首先修改指定模块的build.gradle文件,在末尾加上下述代码task makeJar(type: proguard.gradle.ProGuardTask, dependsOn: "build") { //删除之前编译混淆jar包 delete'build/out...
原创
发布博客 2018.03.01 ·
2782 阅读 ·
0 点赞 ·
0 评论 ·
7 收藏

xxxxxx/classes.jar: unknown package name of class file xxxxxx

编译android源码时如果出现标题类似错误 需要到build/core/tasks/check_boot_jars目录下在package_whitelist.txt 文件中追加对应的类或者包
原创
发布博客 2018.02.05 ·
6333 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Fail to contact Jack Server: Problem reading xxxxxx

同一个服务器上不同用户的Jack编译服务需要配置成不同的port端口,所以需要自己手动改一下修改~/.jack-server/config.properties中tcp端口jack.server.service.port=80xx 自己填jack.server.admin.port=80xx+1修改~/.jack-settings中tcp端口SERVER_PORT_SERVIC
原创
发布博客 2018.02.05 ·
20346 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

普通广播与本地广播

我们平常使用的一般都是全局广播,使用方法就不多说了,下面介绍下本地广播的使用方法注册 private MyBroadcastReceiver receiver; private IntentFilter filter; @Override protected void onCreate(Bundle savedInstanceState) { super.
原创
发布博客 2017.10.30 ·
1040 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

安卓Context介绍

Context是什么Context的中文翻译为:语境; 上下文; 背景; 环境,在开发中我们经常说称之为“上下文”,那么这个“上下文”到底是指什么意思呢?在语文中,我们可以理解为语境,在程序中,我们可以理解为当前对象在程序中所处的一个环境,一个与系统交互的过程。比如微信聊天,此时的“环境”是指聊天的界面以及相关的数据请求与传输,Context在加载资源、启动Activity、获取系统服务、创建Vie
原创
发布博客 2017.10.11 ·
514 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Activity界面的添加与删除

安卓中是由WindowManagerService来管理所有的窗口,下面来看下Activity是如何与WindowManagerService交互,控制应用界面的添加与删除的我们通常都是在onCreate方法中调用setContentView来设置布局,此时只是完成了视图树的创建,并没有通知WindowManagerService添加界面,真正添加界面是在回调完onResume完成的我们的Activ
原创
发布博客 2017.09.26 ·
1657 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Hierarchy Viewer的使用

Hierarchy Viewer工具提供了一个可视化界面显示布局的层次结构,让我们可以进行调试,从而优化界面布局结构。我们可以通过Android Device Monitor来启动启动之后在模拟器上打开相应界面,之后选择相对应的进程和Activity名称在右边的Tree View界面中就会显示出选中界面的布局结构之后选择一个节点,并点击右上角的测量图标此时就获取到了布局绘制的时间这里我们主要关注下面
原创
发布博客 2017.09.22 ·
379 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

安卓7.0 系统服务启动流程

安卓的系统服务都是由SystemServer这个进程创建的,那从他的main函数开始看看public static void main(String[] args) { new SystemServer().run(); }新建了一个SystemServer类,并调用他的run方法private void run() { ...... star
原创
发布博客 2017.09.20 ·
669 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

TraceView的使用

Traceview是android平台配备的一个性能分析工具,通过图形化的方式让我们了解程序的性能,并且能具体到method。 使用方法有两种: 1:在代码中追踪//追踪开始Debug.startMethodTracing();//追踪开始Debug.stopMethodTracing();在你想开始监听的时候调用Debug.startMethodTracing();结束的时候调用Debu
原创
发布博客 2017.09.15 ·
716 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeakCanary的使用

LeakCanary是一个对Android和Java进行内存泄露检测的库 使用方法:首先在gradle中进行配置dependencies { debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.2' releaseCompile 'com.squareup.leakcanary:leakcanary-android-
原创
发布博客 2017.09.14 ·
322 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

onMeasure的宽高生成解析

在View的绘制流程中,onMeasure是负责测量控件的大小的@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); }他的两个参数分别代表宽和高,接下
原创
发布博客 2017.08.29 ·
980 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

requestDisallowInterceptTouchEvent实现原理

我们为了让底部的控件处理事件,不被父控件拦截,一般我们会调用v.getParent().requestDisallowInterceptTouchEvent(true);来阻止父控件对事件的拦截,来看下它的实现原理。首先明确下v.getParent()对于底部的View来说,得到的就是上层的父控件,也就是上层的ViewGroup,来看下ViewGroup的requestDisallowInterce
原创
发布博客 2017.08.24 ·
1434 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

利用openCV识别图片Demo

发布资源 2017.08.18 ·
rar

Activity的setContentView解析

我们一般设置Activity的界面,都是在onCreate方法中通过setContentView完成,之后就会在手机上显示我们设置的界面,现在我们走下流程,看看系统究竟是如何做的。 首先Activity是在ActivityThread中的performLaunchActivity方法中被创建的private Activity performLaunchActivity(ActivityClient
原创
发布博客 2017.08.16 ·
412 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

安卓插件化实例

最近想研究研究安卓插件化的知识,看了看Android插件化完美实现代码觉得很好很强大,所以就来造个轮子,学习记录下。 首先声明下,实现的例子是基于安卓5.1的,而且实现的功能仅仅是能启动插件的Activity,当然了原理弄懂了,别的也好说,那么下面正式开始。实现插件化大概有三个难点1:使我们插件中的代码可以被宿主程序调用 2:Activity等四大组件可以有正常的生命周期 3:插件可以正常使用
原创
发布博客 2017.08.11 ·
465 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

安卓插件化demo

发布资源 2017.08.11 ·
rar

android7.0 onDestroy()方法延迟执行

答:

把B里面的内容扔到新开的线程里加载吧,延迟这么久确定不会anr?

回答问题 2017.08.08

Android如何通过获取信用卡账单,短信中有不止一家银行

答:

你程序收到的短信信息包括发送的手机号码以及短信内容,短信内容各个银行总有不同的吧,去字符串匹配啊

回答问题 2017.08.04

新手求问这里怎么导入Builder

答:

alter+enter

回答问题 2017.08.04
加载更多