1、ContentProvider的作用,是否支持多线程和多进程
2、有哪些存储方式
3、SharedPreferences是否支持多进程、多线程
4、SharedPreference内部实现原理
5、SharedPreference跨进程使用会怎么样?如何保证跨进程使用安全?
在两个应用的manifest配置中好相同的shartdUserId属性,A应用正常保存数据,B应用
createPackageContext("com.netease.nim.demo", CONTEXT_IGNORE_SECURITY)
获取context然后获取应用数据,为保证数据安全,使用加密存储
6.如何将SQLite数据库(dictionary.db文件)与apk文件一起发布
把这个文件放在/res/raw目录下即可。res\raw目录中的文件不会被压缩,这样可以直接提取该目录中的文件,会生成资源id。
7.Android 判断SD卡是否存在
首先要在AndroidManifest.xml中增加SD卡访问权限
8.SQLite支持事务吗? 添加删除如何提高性能?
在sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作 比如5000条记录也就是要5000次读写磁盘操作。
添加事务处理,把多条记录的插入或者删除作为一个事务
9.请解释下 Android 程序运行时权限与文件系统权限的区别?
apk 程序是运行在虚拟机上的,对应的是 Android 独特的权限机制,只有体现到文件系统上时才使用 linux 的权限设置。
linux 文件系统上的权限
-rwxr-x--xsystemsystem41562010-04-3016:13test.apk
代表的是相应的用户/用户组及其他人对此文件的访问权限,与此文件运行起来具有的权限完全不相关。比如上面的例子只能说明system用户拥有对此文件的读写执行权限;system组的用户对此文件拥有读、执行权限;其他人对此文件只具有执行权限。而 test.apk 运行起来后可以干哪些事情,跟这个就不相关了。千万不要看 apk 文件系统上属于system/system用户及用户组,或者root/root 用户及用户组,就认为 apk 具有system或 root 权限复制代码
Android 的权限规则
Android中的apk必须签名
基于UserID的进程级别的安全机制
默认apk生成的数据对外是不可见的
AndroidManifest.xml中的显式权限声明