2019-07-14 第二周

2019-07-28  本文已影响0人  做梦枯岛醒

7.14第二周

表示这个周去找女朋友玩耍了,直到周三才开始动笔本篇。
最近好多事情,现在是月底,按理说应该到了第四篇了,可是知道28号晚上第二篇才起步,最近也有在做其他两个事情,可能是任务安排的有点多,只能拖下去,现在8点半,立个flag吧,今晚睡觉前要把这篇写完。

一. 每周小Tip

1. 常量.equal(变量)的问题

在代码中我们经常看到如此的写法。

if("1".equals(str)){
    // balabala           
}

这里就有疑问了,为什么要把常量写在前面?按照平常写的方法就是很简单的判断某变量是否equals某个值。
这样写的好处是如果str是null的话,调用equals必然会导致空指针,但是如果反着写的话,因为equals是Object所提供的方法,所以 "1"也是有equals方法的。而equals方法是接受传入null的,所以这样就不必要处理空指针异常了。
不过如果是两个变量这样操作是没有用的。

2. scorllerview recycleview 滑动冲突解决方案

如果做过scorllerview和recycleview嵌套的同学可能知道,由于滑动冲突,界面滑动起来可能会很卡顿,并没有列表单独滑动起来那么流畅,此时的解决方案也很简单。

LinearLayoutManager layoutManager = new LinearLayoutManager(context) {
    @Override
    public boolean canScrollVertically() {
        // 直接禁止垂直滑动
        return false;
    }
}

直接自定义一个LinearLayoutManager,使canScrollVertically方法返回false,禁止RecycleView滑动,这样就使得ScorllerView获取焦点,可以比较流畅的滑动。

二. 每周新词

好像这周没有学到什么新的词汇。
估计下周也没有……
可能马上这个版块就被砍掉了……

三. 周博客总结

对于这个周的博客总结,我其实本身是想写内存泄露的一些场景的,但是目前还创作出来,但对于第二周的总结,我想是不能再拖了,但是说实话最近也是忙着在重构我之前的项目,学习Flutter和写学习笔记,所以这里的周博客贴一些Flutter学习的笔记吧!

新建一个Flutter工程
Flutter Hello World

四. 优秀好文

既然没有分享自己写的内存泄露场景总结,那就贴一篇别人的吧, 这也是我在学习中所参考的其中一篇。
内存泄露的几种场景总结

内存泄露有些时候是很隐秘的,他不会报bug,泄露更会造成OOM,手动去找程序中的内存泄露,不仅考验程序员的技术,而且很容易就错过了。所以我们需要借助一些工具来分析。
利用 LeakCanary 来检查 Android 内存泄漏
这款工具是某大厂做的开源工具,我是没用明白,不过使用起来很简单,对于日志的分析是一个比较复杂的事情。
等我弄明白了就写一篇文章吧。

五. 好的App

本周分享的App是 幕布。
首先幕布是一个很有创意的脑图,他不是通过设计来创作出下面的脑图的,而是通过一种类似于MarkDown语法的形式来书写内容,系统自动生成的图形,对于这个图形,可以选形式和主题。


一个脑图

通过下面这样的层级结构,就可以做脑图"树杈"的分支,也是比较有创意的一种实现。


脑图的源

当然这个App的设计很清爽,简洁,当然虽然没有太多的Material Design的元素,但也属于比较好看,比较小清新的感觉。


作为一款强大的脑图工具,他也有对应的网页版,所有内容均可同步,不用担心多端办公所带来的文件不同步问题。

对于技术党,使用这样一个简单的工具就可以对学到的技术或者要分享的内容作出一个简单的大纲,对分享或者掌握知识都蛮有帮助。

这个周的内容实在是拖的很久了,内容也有些欠缺,如果有机会,会充实一点。暂时先到这里吧,第三周的内容已经规划好了,敬请期待吧!

上一篇下一篇

猜你喜欢

热点阅读