前段时间读 711 的那本零售畅销书,说, “为客户考虑问题”和“站在客户立场考虑问题”,这是完全不一样的两件事情。 可能我是 C 端产品经理出身的关系,以前一直觉得难道不是个常识么。直到我自己做了公司以后,才发现要让同…
分类:移动开发
Dagger 2学习与探索(六)
上一期稍微探究了一下交叉依赖,这一期来探究一下Dagger里的@Scope标注。 Scope是范围的意思,Dagger里面自带了一个已经可以用的范围标注:@Singleton。 我们知道,Singleton是单例的意思,…
Android 内存优化笔记
前一段时间接手了一个新的项目,看友盟后台有好多OOM,而且滑动起来也很不流畅。我便对此产生了好奇。花了一段时间把内存这个彻彻底底的研究了一下,在此总结一下怎么样才能把app的内存占用降低下去。 题外话:推荐一个非常好用的…
RecyclerView的焦点记忆封装
上一篇中介绍了TV开发中的列表焦点实现 android tv列表焦点记忆实现,是用外部代码控制的方式实现的,比较繁琐,现在介绍用自定义RecyclerView的方式来实现,并增加了其他的功能:限制纵向和横向移出焦点,移入…
Android 解析异步消息处理机制
Android 中的异步消息处理主要由四个部分组成,Message、Handler、MessageQueue 和 Looper。 Message Message 是在线程之间传递的消息,它可以在内部携带少量的信息,用于在…
简单的蓝牙通信
个人博客:haichenyi.com。感谢关注 之前公司做智能家居类型,其中做了一个智能衣柜项目,与衣柜通信就是用的蓝牙通信。一些操作一些简单的开关指令,蓝牙通信与socket是类似的。 步骤 清单文件注册权限 启动…
多线程知识梳理(1) - 并发编程的艺术笔记
第三章 Java内存模型 3.1 Java内存模型的基础 通信 在共享内存的模型里,通过写-读内存中的公共状态进行隐式通信;在消息传递的并发模型里,线程之间必须通过发送消息来进行显示的通信。 同步 在共享内存并发模型里,…
LeakCanary 原理分析
本文主要内容 1、Reference 简介 2、LeakCanary 使用 3、LeakCanary 源码分析 LeakCanary ,一种常见的内存泄漏分析工具,它能分析出内存泄漏点并以通知形式告诉使用者,使用也比较简…
Flutter 混合开发(Android)路由开发
Flutter交互 原生跳Flutter页面通过路由传参 原生跳到Flutter页面,由于Flutter没有方法可以传递参数,所以现在只能依靠initialRoute的String来传递参数。 原生跳Flutter页面路…
Android中Drawable知识总结
本文是学习《Android开发艺术探索》中Drawable章节之后的一个总结。 一、常见的Drawable种类介绍 Drawable类 xml标签 描述 BitmapDrawable <bitmap/> 表示…
viewpager嵌套scrollview导致不能左右滑动
viewpager嵌套scrollview 造成scrollview没滑到顶部和底部的时候viewpager不能左右滑动 解决方法:重写scrollview的onInterceptTouchEvent float mDo…
Android TextView属性ellipsize多行失效的解决思路
多余文字显示省略号的常规做法 android:ellipsize=”end” //省略号显示在末尾 android:ellipsize=”middle” //省略号显示在中…