- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 Android中的图片(理解篇)
1.图片首先,我们要知道手机上的图片,是以位图的形式展示的,是由一个个像素点组成的。1.1 位图位图,也称Bitmap。是不是觉得很熟悉,毕竟Bitmap我们处理图片的时候经常用到的一个类。位图通常会占用我们的内存,占用的太多,就会出现我们常提到的OOM现象。我们要解决这个问题,最常见最有效的解决方案:让内存的占用率变得更低。实行这个方案之前,我们得明白:位图大小怎么计算?1...
2020-02-16 01:41:59
338
原创 Android:WebView全面总结
1.为何使用WebView?我们先来探讨一下,为何好端端的一个app,嵌入了WebVIew这种控件。WebVIew控件带来的好处:复用性高。 只需要写一次 HTML5 代码,就可以在 Android 和 iOS 平台上运行,这就是所谓的「 跨平台 」。动态更新。 由于页面是由HTML5实现的,出现的大部分改动问题,只需要修改服务器对应的HTML5页面,而不需要移动端重新打包编译上架。...
2019-04-25 18:54:13
774
原创 设计模式-装饰模式
装饰模式1.装饰模式的定义动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。装饰模式的通用类图如图所示:1.1 使用场景我们先不从定义或是类图中扯那么多没用的,先举个
2019-04-22 20:18:30
341
原创 设计模式-命令模式
命令模式1.命令模式的定义将一个请求封装成一个对象,从而让用户使用不同的请求把客户参数化;对请求排队或者记录请求日志,以及支持可撤销的操作1.1 使用场景作为一个开发人员,掌握Git是一个必须的事情。一般来说,我们都是通过敲命令去实现我们的目的。比如,我们敲如下一行代码:git commit -m "init"看这个没什么感觉,我们还是用常规代码去实现这一过程吧。class...
2019-04-18 18:50:36
526
转载 文章推荐:Android Binder 理解
极力推荐看这篇文章:https://blog.youkuaiyun.com/universus/article/details/6211589很难想象,2011年就有大神写出如此深入浅出的Android Binder 文章。尽管我对Linux底层没有什么了解,通过这篇文章,我对Binder有了比较深入的了解,知道了Binder大概的进程间通信的过程,对我接下来的学习有了很大的信心。向该作者致十二...
2018-11-07 23:30:11
218
原创 从源码去理解LayoutInflater类的inflate方法的使用
LayoutInflater是用来解析XML布局文件,然后生成对象的ViewTree的工具类。一般来说,我们通常是动态加载view的时候会用到这个LayoutInflater.inflater();你是否曾经因为动态加载出现了一些问题?比如写出以下代码: linearLayout=(LinearLayout)findViewById(R.id.linear);...
2018-02-20 21:13:53
278
原创 源码的完全解析:Android的消息机制
每个线程仅仅可以创建一个Looper对象。 每个Looper对象可以对应多个hanlder对象。 每个Looper对象对应一个MessageQueue对象 每个MessageQueue维护一个Message链表 Message对象与发送消息的handler对象绑定。 Looper.prepare()执行在new Handler()前面 Looper.prepare()将新建的Looper对象保存在了当前线
2018-01-01 01:06:48
547
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人