摘要:
虽然是测开岗位,但问的都是Android的专业问题,问的比阿里的细,回答感觉也不是很好,第二天就挂了 一面 进程间通信方式,共享内存实现原理 布局类型,常用UI控件 MessageQueue,Handler,Looper实现原理,Message高效的原理 JNI原理,MakeFile包含什么,放在哪 阅读全文
摘要:
面试部门:菜鸟IoT。面试电话一大早就打过来了,我还在床上手机开了静音没听到。然后让内推人问了下,中午吃饭的时候面试官打电话来约了下午3点的面试。 笔试 第一题 纸上写了一个单调非递减的数字序列,每个人依次选择一个数字,然后把这个数字第一次出现位置及其之前的数字都删掉,直到谁把序列删除空谁就赢了,n 阅读全文
摘要:
Picasso Glide 原因 内存占用 大 小 Picasso缓存的是全尺寸的图片 硬盘读取 快 慢 Glide会resize 内存读取 慢 快 Glide不需要resize 库大小 小 大 Gif加载 不支持 支持 阅读全文
摘要:
使用场景 持久化保存 进程间通信 网络传输对象 使用方式 Serialize 只需要继承Serializable这个接口,Serializable是个空接口,用于标记这是个可序列化的对象。serialVersionUID用于标记序列化和反序列化对象的版本号,不写的话编译时会自动给一个。 public 阅读全文
摘要:
目的 Android开发过程中想查看本地数据库里的数据是否正常,一般可以把Sqlite3文件拷出来查看或者用付费插件,今天介绍一种更加方便的穷逼的快捷查看方法。 仓库地址:https://github.com/amitshekhariitbhu/Android-Debug-Database 功能 查 阅读全文
摘要:
作用 跨进程通信,多个App直接数据共享,当然进程内通信也是可以的 主要方法 public class BookContentProvider extends ContentProvider { @Override public boolean onCreate() { //第一次打开Provide 阅读全文
摘要:
缓存机制 ListView的两级缓存 ListView的缓存和复用由它的父类AbsListView中的RecycleBin实现,设了两个缓存数组mActiveViews和mScrapViews。mActiveViews缓存显示在屏幕中的view,mScrapViews按ViewType缓存离屏的vi 阅读全文
摘要:
问题由来 我们知道,Andoird由于修改UI是线程不安全的,只能在主线程中修改。如果多个线程修改UI肯定会花屏,于是谷歌做了限制,只能在主线程中修改UI。但是有次我在子线程中修改了UI没弹异常。 先来看两段代码 //正常运行btn1.setOnClickListener(new View.OnCl 阅读全文
摘要:
相互关系 一张图说明关系: Activity持有一个PhoneWindow实例 mDecorView是View树的根节点,PhoneWindow持有一个mDecorView实例 所有window通过WindowManager管理 WindowManager持有一个ViewRootImpl用于管理Vi 阅读全文
摘要:
概述 EventBus基于安卓优化的发布-订阅事件总线,本质上还是Java的观察者模式。消息接收者注册到Bus总线,消息发送后根据相应的消息类型分发消息。 总的注册和消息发送流程如下 源码解读 观察者注册 使用单例模式新建唯一EventBus实例 public static EventBus get 阅读全文