1.sleep(),wait(),notify(),notifyAll()
  sleep()是线程类的静态方法,阻塞线程一定时间后再次使线程处于可以被调度运行的状态wait(),notify(),notifyAll()是运用内部对象条锁时使用的方法,当线程需要满足某条件时,调用wait()将此线程添加到等待集中,notify()(解除单个线程),notifyAll()(解除所有线程)用于解除等待集中线程的阻塞状态。
 .
2.android 内存(泄露)溢出问题
(1) 查询数据库没有关闭游标,就是资源对象没有关闭造成的泄露 
(2) 构造Adapter时,没有使用缓存的 convertView 
(3) Bitmap对象不在使用时没有调用recycle()释放内存 
(4) 没有恰当释放对象的引用 
(5) 启动了service但是没有停止service
(6)集合类中的无用对象没有及时清理造成的内存泄露
(7)静态数据,对象引用 
 
3.Java 匿名内部类

  匿名内部类也就是没有名字的内部类,正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写 ,

但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口。

4.android 启动的基本过程   

  (1) init进程启动
  (2) Native服务启动
  (3) System Server,Android服务启动
  (4) Home启动

5.程序崩溃异常收集

  首先要实现要实现UncaughtExceptionHandler 接口 ,然后在Application 中注册,可以让程序崩溃捕捉类在监控整个程序运行过程。

当程序崩溃时就会调研UncaughtExceptionHandler中的接口,来收集异常信息,具体的信息收集在 UncaughtException() 接口中实现.

6.程序 打包,编译,发布流程

  (1)打包资源文件 (2) 编译java文件 (3)将class文件转换成 android虚拟机能识别的dex文件 (4)打包生成apk文件 (5)对apk文件进行签名 (6)发布apk文件

7.缓存框架

8.下拉刷新原理

9 ListView 优化

(1)利用好视图缓存 contentView 和ViewHolder(2)采用分页加载,数据缓存的方式

10 Intent Flag 常用参数

(1)FLAG_ACTIVITY_CLEAR_TOP A,B,C,D->A,B (在D中调用B)

(2)FLAG_ACTIVITY_NEW_TASK A,B,C,D->A,B,C,D,D(在D中调用D)

(3)FLAG_ACTIVITY_NO_HISTORY A,B,C->A,B,C(在C中调用D)

(4)FLAG_ACTIVITY_SINGLE_TOP A,B,C,D->A,B,C,D(在D中调用D)

10.图片缓存机制

11.自定义View 提高效率

(1)优化布局层次(2)复用布局(3)减少不必要的onDraw,onLayout开销

12.JNI 调用步骤

(1)在java类中编写Native接口

(2)生成对应的.h头文件

(3)用C/C++实现本地方法

(4)将编写的C/C++文件生成动态链接库

(5)然后就可以调用本地方法了

 13.进程与线程之间的区别与联系

进程是资源分配的最小单位,线程是CPU调度的最小单位

14.Android 终止一个进程

(1)调用KillProcess()结束当前应用程序下的进程

(2)调用restartPackage()结束其他程序下的进程

(3)调用killBackgroundProcesses()

(4)也可以按返回键返回至主屏幕来退出当前进程



14.Java 如何同步

(1)可以使用最基本lock,unlock 加锁解锁来实现同步。

(2)可以使用同步关键字synchronized,同步变量,代码块,同步方法。

(3)可以使用阻塞队列,Hashtable原本就线程安全的数据结构。

15.Android 应用程序之间通讯方式

(1)通过Intent进行数据的传输

(2)AIDL接口文件进行数据传输

(3)通过content provider进行数据传输

(4)通过web服务器来交换数据

(5)通过broadcast的方式来交换数据

16.Sqlite使用注意

(1)启用连接后要及时关闭连接,游标要及时关闭

(2)如果读取的数据会被多次复用,可以在内存中进行缓存处理

(3)如果读取的是大量的数据,可以分批次取出处理,提高程序的响应速度

17.AIDL支持的数据类型

1. Java 的原生类型
2. String 和CharSequence
3. List 和 Map ,List和Map 对象的元素必须是AIDL支持的数据类型; 以上三种类型都不需要导入(import)
4. AIDL 自动生成的接口 需要导入(import)
5. 实现android.os.Parcelable 接口的类. 需要导入(import)

18.HashMap 数据结构

在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个“链表的数组”的数据结构,每个元素存放链表头结点的数组,即数组和链表的结合体。

Android 学习笔记的更多相关文章

  1. Android 学习笔记之Volley(七)实现Json数据加载和解析...

    学习内容: 1.使用Volley实现异步加载Json数据...   Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...

  2. Android学习笔记进阶之在图片上涂鸦(能清屏)

    Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ...

  3. android学习笔记36——使用原始XML文件

    XML文件 android中使用XML文件,需要开发者手动创建res/xml文件夹. 实例如下: book.xml==> <?xml version="1.0" enc ...

  4. Android学习笔记之JSON数据解析

    转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...

  5. udacity android 学习笔记: lesson 4 part b

    udacity android 学习笔记: lesson 4 part b 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 ...

  6. Android学习笔记36:使用SQLite方式存储数据

    在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...

  7. Android学习笔记之Activity详解

    1 理解Activity Activity就是一个包含应用程序界面的窗口,是Android四大组件之一.一个应用程序可以包含零个或多个Activity.一个Activity的生命周期是指从屏幕上显示那 ...

  8. Pro Android学习笔记 ActionBar(1):Home图标区

     Pro Android学习笔记(四八):ActionBar(1):Home图标区 2013年03月10日 ⁄ 综合 ⁄ 共 3256字 ⁄ 字号 小 中 大 ⁄ 评论关闭 ActionBar在A ...

  9. 【转】Pro Android学习笔记(九八):BroadcastReceiver(2):接收器触发通知

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.sina.com.cn/flowingflying或作者@恺风Wei-傻瓜与非傻瓜 广播接 ...

  10. 【转】 Pro Android学习笔记(九二):AsyncTask(1):AsyncTask类

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在Handler的学习系列中,学习了如何h ...

随机推荐

  1. 关于ES6新增的东西(二)

    六.原生Promise 就是一个对象,用来传递异步操作的数据(消息) pending(等待.处理中)-> Resolve(完成.fullFilled) -> Rejected(拒绝.失败) ...

  2. 分页ajax+springmvc的简单实现

    页面部分源码: <li class="paginItem"><a href="javascript:getNewsList(2);">2 ...

  3. LeetCode-62-Unique Paths

    A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The ...

  4. word中方框中打钩

    之前一致认为,方框打钩不可能的.今天要交评测,结果百度一下,发现可以打钩的!不会就百度(Google)真的不会错的,你所 疑虑的,可能前人已经找到解决方法!!! 解决方法:     alt+9745

  5. [MAVEN]一、maven入门之软件的下载及配置到Eclipse中

    1.Maven是什么? maven是Apache.org的一个子项目,他通过一个.pom的文件(xml文件)配置可以下载此项目中需要用到的jar包.文档.源码等.Maven提供了命令行的使用方式,我们 ...

  6. 【原创】cs+html+js+css模式(六):改造ajax.js,从原来的原生态js修改为依赖于jquery插件

          由于原有的ajax可能在性能上,对于jquery的支持不够并且不够方便,开发人员使用的时候需要知道我们内部指定的后缀文件的设置,基于这个前提我们进行了js的改造 // 使用闭包开发插件 ( ...

  7. Hadoop之倒排索引

    前言: 从IT跨度到DT,如今的数据每天都在海量的增长.面对如此巨大的数据,如何能让搜索引擎更好的工作呢?本文作为Hadoop系列的第二篇,将介绍分布式情况下搜索引擎的基础实现,即“倒排索引”. 1. ...

  8. Codeforces Round #373 (Div. 2)

    A,B,C傻逼题,就不说了. E题: #include <iostream> #include <cstdio> #include <cstring> #inclu ...

  9. shell中$0,$?,$!等的特殊用法

    变量说明: $$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process的PID$?最后运行的命令的结束代码(返回值)$-使用Set命令设定的Flag一览$*所有参数列表 ...

  10. python面向对象进阶(八)

    上一篇<Python 面向对象初级(七)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使 ...