摘要: dp 一种基于屏幕密度抽象长度单位。在每英寸160点的显示器上,1dp = 1px。为什么要选160这个数字呢,因为第一款安卓设备的DPI是160。 假如在不同设备上都设置了240dp的控件宽度,显示效果是一样的。 sp 与dp类似,但是会根据系统字体的大小调整 px 像素单位,假如在不同分辨率的设 阅读全文
posted @ 2020-07-16 18:56 夜空中最亮的盖子 阅读(413) 评论(0) 推荐(0) 编辑
摘要: View.post() 在View绘制成功后执行 firstIv.post(new Runnable() { @Override public void run() { Log.i(TAG, "高度" + firstIv.getHeight() + ",宽度" + firstIv.getHeight 阅读全文
posted @ 2020-07-15 22:43 夜空中最亮的盖子 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 这是字节面试官问的一个问题,平时Glide用惯了,让我说大图加载原理答不上来。 大图如果直接加载到内存,往往会导致OOM,因为大图所占内存非常大。 Bitmap直接加载 Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mi 阅读全文
posted @ 2020-07-15 22:41 夜空中最亮的盖子 阅读(1518) 评论(0) 推荐(0) 编辑
摘要: 这个问题是字节跳动面试官问的,当时没看过图片异步加载框架的原理,只能跟他说会用。今天仔细看了看原理感觉也没那么难。 Gilde的使用方法也很简单: Glide.with(content) .load(url) .into(imageView); with绑定生命周期,load指定加载资源,into指 阅读全文
posted @ 2020-07-15 16:29 夜空中最亮的盖子 阅读(12188) 评论(2) 推荐(2) 编辑
摘要: 主要思路是生产者消费者。当A线程打印到第5个时,让B线程的信号量加1;B线程开始执行并结束,结束前让A线程的信号量加1,A线程继续add import java.util.LinkedList; import java.util.List; import java.util.concurrent.S 阅读全文
posted @ 2020-07-13 15:38 夜空中最亮的盖子 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 多线程编程中耗时线程是很常见的情况,有时候我们不得不在一个线程中去终止另一个耗时线程。JDK并不推荐直接停止比如this.stop(),这会导致一些异常,比如锁未释放程序一直死锁。JDK推荐使用一个线程去通知耗时线程该结束线程了,耗时线程做退出前的回收处理然后自己结束线程。 自定义标志位终止 使用v 阅读全文
posted @ 2020-07-13 14:06 夜空中最亮的盖子 阅读(1648) 评论(0) 推荐(0) 编辑
摘要: 强引用 在Java中使用如下方式声明的引用是强引用 String str = new String("abc"); str 是堆中对象new String("abc")的强引用,被强引用的对象在任何时候gc不会被回收,即使内存不足汇报OOM。 软引用 在Java中使用如下方式声明的引用是软引用 So 阅读全文
posted @ 2020-07-12 20:21 夜空中最亮的盖子 阅读(392) 评论(0) 推荐(0) 编辑
摘要: Android生命周期起始在Application这个实例。 简单使用 默认是没有的,需要自己手动写一个继承Application。 public class LearnApplication extends Application { private static final String TAG 阅读全文
posted @ 2020-07-08 21:21 夜空中最亮的盖子 阅读(812) 评论(0) 推荐(0) 编辑
摘要: 基于流行度 这种算法比较简单,按所有用户的点击量排序呈现给用户,按热度数据推荐给每个用户。弊端就是每个用户看到的都是一样的,无法个性化推荐,微博排行榜就是个比较好的例子。 协同过滤算法 基于用户 分析各个用户对物品的评价(浏览次数,停留时间,购买次数) 依据用户对物品的评价计算得出所有用户之间的相似 阅读全文
posted @ 2020-07-08 19:15 夜空中最亮的盖子 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 问题来源 这是字节面试官问的,当时答的不是很好,准备不充分,只能讲了下Android的事件分发机制。 消费顺序 Button消费了几个Move事件后,接下来的Move都被Scrollview消费了 代码解读 在Scrollview的源代码里,可以看到onInterceptTouchEvent方法中, 阅读全文
posted @ 2020-07-08 15:47 夜空中最亮的盖子 阅读(353) 评论(0) 推荐(1) 编辑