1. listview中converView复用 可以使用三元表达式
View view = convertView != null ? convertView :View.inflate(MainActivity.this, R.layout.item, null);
2. 数据库帮助类有两个方法,第二个方法更新数据库用,只有版本号发生变化的时候掉用
3. 每一个应用的主线程都是死循环
4. SmartImageView 内部使用handler 自动开启线程
5. Preference 有三种方式获取 getPreferences 获取的是属于当前activity的,每个activity只有一个
getSharedPreferences 属于整个应用程序 ,可以指定名称
getDefaultSharedPreferences 属于整个应用程序但是只有一个会根据包名和PreferenceActivity的布局文件起一个名字保存
6. PreferenceActivity是android中专门实现程序界面以及参数存储的一个activity
7. Fragment的replace方法最终掉用的是doAddOp将Fragment和对Fragment所进行的操作放到op链表中:op链表用来保存addremove replace 等action
8. Onattach oncreate oncreatviewonactivitydreated onStart onresume onPause onStop
Ondestroyview ondestroy ondetach
9. singleTask 通过intent启动activity时,为了不让多次创建对象 ,设置模式
这个时候,如果这个实例是存在的,系统会直接掉用onNewIntent方法
系统随时会杀死后台运行的activity,如果这发生,系统就会调用onCreate方法
解决办法processExtraData 调用里面的setIntent 然后获取数据的时候调用getIntent
10. activity中onsaveInstanceState方法,调用的原则: 当系统未经过你同意销毁了你的activity,就有责任帮你保存数据数据会被onRestoreInstanceState传到onCreate方法中.也可以选择在这个方法中恢复数据
11. res/raw 和assets的区别: raw 中的文件会被映射到R文件中,访问的时候直接使用id访问,但是assets的文件不会被映射到R文件中 ,访问的时候使用assetManager
res\raw不可以再有目录结构,但是assets还可以继续创建目录
相同点; 文件都会原封不动的打包到apk中,不会被编译为二进制
12. res\xml中的xml文件,在代码中获取Resource.getXMl()
13. 进程托管??android 面向组件开发 什么是rpc? 进程 清单文件中可以配置
14. setContentView 和 inflate 的区别: setContentView一旦调用,layout就会立即显示UI布局,而inflate只会把layout形成一个view对象,有需要的时候再显示出来(有需要的时候调用setContentView(view)显示出来 )
15. 应用常驻内存配置清单文件 persistent = “true”
16. Listview判断顶部或者底部 当滚动的时候 监听 判断当界面上的第一个条目位置或者最后一个条目的位置
17. Drawable加载图片 drawable = Drawable.createFromStream(newURL(url).openStream(), "image.png");