一、四大组件

Activity (生命周期可编辑onResume和可见onStart,不可编辑onPause和不可见onStop)、Service (AIDL,开始方式)、BroadcastReceived(有序,无序) 、ContentProvider(Uri)

二、五大布局

LinearLayout 、RelativeLayout(降低布局嵌套) 、FreamLayout 、TableLayout 、AbsoluteLayout

三、通信机制

Intent(隐式,显示,两个之间的数据传递)、Service、BroadcastReceived、Handler(多线程)、sharedPreferred(如果跳转的次数太多,可以考虑本地文件存储了)、file(类似于sharedPreferred)

四、动画

帧动画、Tween动画(移动、缩放、旋转、透明)

五、ListView

各种布局加载(动态加载布局)、优化(convertView、ViewHolder、异步加载、分页加载)、notifyDataSetChanged更新数据

六、Fragment

与Activity(使用FragmentManager)之间的通信、Fragment使用(getActivity())

七、线程、进程

1.进程:一个应用程序在内存中的镜像

2.线程:一个进程中可以包含多个线程

多线程、多线程下载

Thread Runnable Handler AsyncTask

应用场景:耗时操作(一般指5秒)和定时操作(schedule Task)

具体场景:IO操作(网络操作、文件操作、数据库操作)、复杂的运算算法、消息接收方法的耗时操作、定时任务

  1. 线程池的基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理。当有线程任务时,从池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程对象所带来的性能开销,节省了系统的资源。

八、http和socket

Http(短连接)特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接

Socket(长连接) 特点 服务器监听,客户端请求,连接确认

区别、优缺点、返回码的含义

返回码200成功206部分成功404文件丢失503服务器未响应

九、数据存储

文件存储、SharedPreference(密码、判断)、SQLite(继承SQLiteOpenHelper,生成SQLiteDatabase

对象来新建处理SQL语句,数据库升级)、网络存储(上传、下载)

十、自定义组件

两种方式:include(标签一般用merge);创建自定义控件(一般有响应按钮时调用)

两个主要方法measure和layout,要是自定义View,显示时用setContentView

十一、适配器

Drawable(.9图片)、 Layout 、Values(dimen) 、Java代码控制 、weight

十二、开源框架、开源组件

框架:Volley 、xUtil 、okhttp、eventBus、Gson、festJson、imageloader、Picasso(获取远程图片)、zxing(二维码)

组件:pull2RefreshListView、SlidingMenu

十三、内存优化和程序优化

1.Android优化的布局(使用merge标签优化层级、不需要立即加载的布局,设置为GONE,系统会跳过,不加载、使用ViewStub 实现按需加载、ListView的优化)、

  1. 对内存的优化( 1.Reckon(计算)首先需要知道你的app所消耗内存的情况,知己知彼才能百战不殆 2.Reduce(减少)消耗更少的资源(BitmapFactory.Options设置inSampleSize, 这样做可以减少对系统资源的要求;如果对图片没要求可以设置RGB_565(每像素占2字节,默认的是ARGB_8888占4个字节)opt.inPreferredConfig = Bitmap.Config.RGB_565;用Bitmap.recycle()方法来释放Bitmap占用的内存空间) 3.Reuse(重用)当第一次使用完以后,尽量给其他的使用 4.Recycle(回收)返回资源给生产流 5.Review(检查)回顾检查你的程序,看看设计或代码有什么不合理的地方。)
  2. 数据库使用完成后要记得关闭cursor 4.广播使用完之后要注销
  3. 小tip: 避免创建不必要的对象最常见的例子就是当你要频繁操作一个字符串时,使用StringBuffer代替String;避免使用枚举,枚举变量非常方便,但不幸的是它会牺牲执行的速度和并大幅增加文件体积;永远不要在for的第二个条件中调用任何方法

转载于:https://www.cnblogs.com/lxwAndroid/p/9971614.html

Android知识汇总相关推荐

  1. Android 知识汇总

    转载请注明:http://blog.csdn.net/feather_wch/article/details/52043153 本文用于归纳分类几年Android开发过程中的所有资料. 本文包含主要三 ...

  2. 安卓应用程序开发培训!整理几个重要的Android知识,醍醐灌顶!

    开头 昨天去面了一家公司,价值观有受到冲击. 面试官技术方面没的说,他可能是个完美主义的人,无论什么事情到了他那里好像都有解决的方案,我被说的无所适从,感觉他很厉害. 但我不能认可的是,面试官觉得加班 ...

  3. android知识总结 - 收藏集 - 掘金

    一个精简.全面.方便的 AndroidLog 库 --ALog - Android - 掘金 Functions 可设置Log开启和关闭 可设置Log全局Tag ... 关于 Okhttp3(六)-C ...

  4. Android知识补充(Android学习笔记)

    Android知识补充 ●国际化 所谓的国际化,就是指软件在开发时就应该具备支持多种语言和地区的功能,也就是说开发的软件能同时应对不同国家和地区的用户访问,并针对不同国家和地区的用户,提供相应的.符合 ...

  5. 构建自己的Android知识体系

    0. 背景 构建一个属于自己的知识体系,能够让我们学到的知识体系化.让自己清楚哪块是自己的知识盲区,哪块已经构建起根基.然后根据实际情况,有针对性的进行模块学习.让自己成为一个合格的Android工程 ...

  6. java并发核心知识体系精讲_JAVA核心知识汇总

    双非同学如何逆袭大厂? 在互联网行业,入行的第一份工作很大程度上决定了以后职业发展的高度.有些双非的同学认为自己校招进不了大厂以后还会有社招,这种想法很危险.大厂的社招,大多数都只招大厂的员工.什么意 ...

  7. 脑科学与脑电基础知识汇总

    点击上面"脑机接口社区"关注我们 更多技术干货第一时间送达 脑科学与脑电基础知识汇总 该部分汇总了社区分享的部分脑科学.EEG.fNIRS.BCI.人机交互等相关知识. 脑电与情绪 ...

  8. python基础知识资料-Python基础知识汇总

    原标题:Python基础知识汇总 1.Anaconda的安装 百度Anaconda的官网,下载左边的Python3.X版本 然后是设置路径,最后给出Jupyter notebook.具体参考: 猴子: ...

  9. python基础知识资料-学习Python列表的基础知识汇总

    千里之行,始于足下.要练成一双洞悉一切的眼睛,还是得先把基本功扎扎实实地学好.今天,本喵带大家仔细温习一下Python的列表.温故而知新,不亦说乎. 当然,温习的同时也要发散思考,因为有些看似无关紧要 ...

最新文章

  1. 写给云栖社区在做网站的朋友一点干货
  2. 请问大数据有没有速成的方法?嗯 真的没有
  3. 铃铛计数问题——分块
  4. Building Fire Stations 39届亚洲赛牡丹江站B题
  5. Pygame:编写一个小游戏
  6. 坚持跑步与读书,方不辜负此生
  7. 协同旋转不变网格形变
  8. asp.net用标签递归一颗树
  9. 根据数据集获取概率密度图像和概率分布图像
  10. 关于vue搭建项目运行出行的错误问题,简直是大坑啊
  11. python xpath定位不到_Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)...
  12. delphi 第一个字符不能是小数点_元字符的详细解析
  13. ansible介绍+基本操作
  14. Mysql 优化(学习笔记二十)
  15. linux网络配置、ssh、scp及命令优先级作业
  16. 简单DNS服务器架设
  17. C# list 多条件排序
  18. 《CCNP TSHOOT 300-135学习指南》——1.2节结构化故障检测与排除方法
  19. SharePoint2007文档的点击率统计
  20. R语言作图入门——软件安装,数据导入

热门文章

  1. vs2013 clr20r3怎么解决
  2. 小伙 这样你就可以在Mac 中运行 Office 办公软件了
  3. 知识梳理,HTML5智能表单
  4. MICCAI2019-partI部分论文概览
  5. Warning: os-prober will not be executed to detect other bootable partitions
  6. 微信公众平台功能大杂烩 - ip/域名查询 车牌号归属地查询 手机归属地查询 公交查询 英汉互译...
  7. XDOJ239杨辉三角
  8. 使用Android stdio中的Webview显示网页时提示net::err_access_denied是为什么?
  9. 一个虚拟主机怎么建立多个站点?
  10. PTA乙级 1037 在霍格沃茨找零钱 (20分)--水题