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. iPhone添加邮箱

    阿里云邮箱设置 手机自带的电子邮件客户端该如何添加阿里云邮账号呢?这里以iPhone4s和安卓系统为例,分别进行添加阿里云邮箱帐号的添加.   官网是这么介绍的:   一.如下以iPhone4s为例, ...

  2. SQL Server日志文件(LDF文件)

    一.日志文件过大处理方法: 1.设置数据库模式为简单模式:ALTER DATABASE 数据库名 SET RECOVERY SIMPLE 或者选中数据库-属性-选项-恢复模式设置为简单. 2.收缩日志 ...

  3. Win10 UWP开发实现Bing翻译

    微软在WP上的发展从原来的Win7到Win8,Win8.1,到现在的Win10 UWP,什么是UWP,UWP即Windows 10 中的Universal Windows Platform简称.即Wi ...

  4. Spring.Net 简单入门学习

    Spring.NET IoC容器的用法. 通过简单的例子学习Spring.Net 1.先创建一个控制台程序项目. 2.添加IUserInfoDal 接口. namespace Spring.Net { ...

  5. 理解C# 4 dynamic(2) – ExpandoObject的使用

    ExpandoObject的使用非常简单,很容易入手.上一篇里面已经有详细的介绍了,可以看这里(理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic ...

  6. 用 CSS 隐藏页面元素

    用 CSS 隐藏页面元素有许多种方法.你可以将 opacity 设为 0 将 visibility 设为 hidden 将 display 设为 none 将 position 设为 absolute ...

  7. deepin 15.3 安装配置nginx

    1.安装nginx sudo apt-get install nginx 2.配置nginx sudo gedit /etc/nginx/sites-enabled/default 找到:index ...

  8. php网址显示excel表格内容

    /** * excel表格内容在网页中显示 * * 首先需要下载PHPExcel 工具包 * 网址: http://phpexcel.codeplex.com/releases/view/119187 ...

  9. mybatis 批量更新

    <update id="batchUpdate" parameterType="java.util.List"> <foreach colle ...

  10. Math类

    Math类:用于执行基本数学运算的方法 方法: public static int abs(int a):绝对值 public static double ceil(double a):向上取整   ...