android传感器开发大纲,Android知识大纲

Android知识大纲

Java垃圾回收机制

Java内存是如何划分的,Java语言为什么要使用垃圾回收机制?

垃圾判定

1. 标记引用算法

2. 根搜索法

垃圾清扫

1. 标记-清除法 概念以及特点

2. 复制算法

3. 标记-整理法

4. 分代回收算法

有了垃圾回收机制,Java还会出现内存泄露吗,如果说存在,Java有什么应对机制吗?

Java的四种引用方式

强引用

软引用

弱引用

虚引用

软引用、弱引用配合引用队列如何使用,使用的目的是什么?

可参考:http://blog.csdn.net/u012152619/article/details/46981643

以上这么多关于Java垃圾回收和内存的东西,你在编写代码的时候有需要注意的地方吗?

java数据结构

数据结构相关的类:Collection、List、Set、Map

__List:__ArraryList、LinkedList和Vector

__Set:__hashSet、LinkedSet和TreeSet

__Map:__HashTable、HashMap、LinkedMap和TreeMap

内存存放特性、数据增长特性和各自的适用场景

遍历Iterator、ListIterator和Foreach

线程安全问题,Tree一类的红黑树概念

了解Collections和Arrays两个辅助工具类的用法

HashMap/ArrayMap/SparseArray三个区别和使用场景

http://www.voidcn.com/article/p-favrvxlc-ka.html

clone拷贝

java中如何实现clone()拷贝,完成拷贝时他的内存是如何分配的?

多线程

线程用法

Thread、Runnable和Callable,以及各自的特点

线程的几个状态

创建、就绪、运行、阻塞、停止

线程池

为什么要使用线程池?

1. 线程池常见的几个类的用法:

ThreadPoolExecutor、Executor,Executors,ExecutorService,CompletionService,Future,Callable 等

2. 线程池四个分类

newCachedThreadPool、newFixedThreadPool、newScheduledThreadPool和SingleThreadExecutor

3. 自定义线程池 ThreadPoolExecutor

线程池工作原理

核心线程数、等待队列、处理策略等

线程同步

同步方式:synchronized和lock

同步相关方法:wait()/notify()/notifyAll() sleep()/join()/yield() await()/signal()/signalAll

如何使用,各自适用场景?

参考:http://wiki.jikexueyuan.com/project/java-concurrency/executor.html

设计模式

面向对象设计六大原则

优化代码的第一步——单一职责原则

让程序更稳定、更灵活——开闭原则

构建扩展性更好的系统——里氏替换原则

让项目拥有变化的能力——依赖倒置原则

系统有更高的灵活性——接口隔离原则

更好的可扩展性——迪米特原则

android适配问题

不同系统版本之前的适配 – API变化

不同手机厂商之间的适配 – 对Android原生系统进行了改造

屏幕适配 – 尺寸单文(dp/sp/px)、布局layout和图片资源

可参考:http://blog.csdn.net/qq_28758749/article/details/51297842

Handler机制

使用方法, send/post两种方式

handler底层怎么从发送消息到接收消息的

理清楚Looper、Handler、MessageQueue和Message概念和关系

Activity

正常执行时,生命周期是何变化?异常时和Activity重新展开时,注意方法的调用时机: onSaveInstance()、onRestoreInstance()、onWindowFocusChanged()和onConfigurationChanged()以及使用方法

onStart()和onResume()、 onPause()和onDestroy()这两方法用处都很类似,Android为什么要这么设计呢?

Activity的四种启动方式standard、singleTop、singTask和singleInstance是什么?他们onNewIntent()方法的关系

Fragment

1. 什么是fragment?为什么要使用fragment?

需要对比Activity才能更好的作出解答

2. fragment的生命周期,并且和Activity的联系?

3. fragmentManger和FragmentTransaction两者用法,它的replace/add/remove/hide/show方法,以及添加到回退站和回退的用法

4. fragment和Activity的通信,以及何种方案保证降低他们的耦合性

以及fragment上踩过的一些坑

a. 嵌套fragment时Duplicated id或者Tag

b. replace之痛

c. Fragment的public默认无参数构造方法

原因:Fragment会被重新销毁(Activity销毁的时候它里面的Fragment就被销毁了,可能因为内存不足,手机配置发生变化,横竖屏切换)。在重新创建的时候系统调用的是无参构造函数。

d. getActivity()为空指针

讲解:http://blog.csdn.net/goodlixueyong/article/details/48715661

f. frgament和viewpager配合使用,生命周期影响几何,fragment如何感知自己已经处于显示状态,并且与Activity通信

http://blog.csdn.net/tongcpp/article/details/41978751

参考:

(1)http://toughcoder.net/blog/2015/04/30/android-fragment-the-bad-parts/

(2)http://blog.csdn.net/lmj623565791/article/details/37970961

Service

1. 生命周期及两种启动方式

2. Service的线程关系和Thread,它属于哪个线程和进程

3. Service和IntentService的区别

android事件分发机制

1. Activity里面的组件发生点击事件时,事件是如何传递的?

2. view和viewgroup事件分发区别,理解dispatchTouchEvent()、onInterceptTouchEvent、onTouchEvent、onTouch和onClick事件

public boolean dispatchTouchEvent(MotionEvent ev)

用来进行事件的分发。如果事件能够传递到当前View,此方法一定会被调用,返回结果受当前View的onTouchEvent()和下级View的diapatchTouchEvent()方法的影响,表示__是否消耗当前事件

__。

public boolean onInterceptTouchEvent(MotionEvent event)

用来判断是否拦截某个事件,如果当前View拦截了某个事件,那么在同一个事件序列当中,此方法不会被再次调用,返回结果表示是否拦截当前事件。

public boolean onTouchEvent(MotionEvent event)

在dispatchTouchEvent()中调用,用来处理点击事件,返回结果表示是否消耗当前事件,如果不消耗,则在同一个事件序列中,当前View无法再次接收事件

当子view的action_down事件不处理后,后续事件序列将不再传递给他

当子view除action_down外的事件不处理后,虽然后续事件也会收到,但是它的父组件却无法处理

requestDisallowInterceptTouchEvent,onInterceptTouchEvent两个方法

参考:

http://www.voidcn.com/article/p-nobjfdja-c.html

精通网络通信机制;

对TCP、HTTP协议有丰富实践经验;

熟悉HTML、CSS、JS等web基础知识,独立或主导完成过大中型移动app经验者优先;

深入研究过android系统机制和framework源码,精通android上的app开发、调试、编译、打包等流程;

有技术难题攻关经验,在移动端app内存优化、绘制效率优化、IO优化或数据库、电量等调优方面有丰富的经验。

面试问题准备

app之间通信有哪些方式

给你一个app设计项目,你应该怎么去搭建框架,如何去设计这个app

干货资源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值