❤️Android 性能优化之启动优化❤️
背景
用户希望应用能够快速打开。启动时间过长的应用不能满足这个期望,并且可能会令用户失望。轻则鄙视你,重则直接卸载你的应用。
用户不会在乎你的项目是不是过大,里面是不是有很多初始化的逻辑。他只在乎你-慢了。
所以咱们这篇文章有两个目的:
启动速度提升(用户眼中的大神就是你)
优化代码逻辑和规范(别让自己成为继任者中的XX)
今天咱们就来了解一下应用启动内部机制和启动速度优化。
❤️Android 进程与线程 ❤️不好不要钱(下)
小结
实现Callable和实现Runnable类似,但是功能更强大,具体表现在:
• 可以在任务结束后提供一个返回值,Runnable不行。
• call方法可以抛出异常,Runnable的run方法不行。
• 可以通过运行Callable得到的Fulture对象监听目标线程调用call方法的结果,得到返回值,(fulture.get(),调用后会阻塞,直到获取到返回值)。
❤️Android 进程与线程 ❤️不好不要钱(上)
1、概念
1.1 进程
1.2 线程
1.3 进程和线程的区别
2、Android中的进程
2.1 进程
2.2 进程的等级(生命周期)
2.2.1 前台进程(Foreground process)
2.2.2 可见进程(Visible process)
2.2.3 服务进程(Service process)
2.2.4 缓存进程(Cached process)
2.3 多进程
2.3.1 多进程产生多个Application
2.4 进程间通信
Java 类加载器
类加载器 ClassLoader
在Java 内存模型我们介绍了 Java 字节码文件(.class)的格式。一个完整的 Java 程序是由多个 .class 文件组成的,在程序运行过程中,需要将这些 .class 文件加载到 JVM 中才可以使用。而负责加载这些 .class 文件的就是类加载器(ClassLoader)。
Java JVM知识汇总
1、JVM 是什么?
Java虚拟机(Java virtual machine,JVM)是 Java 程序运行基础,Java虚拟机有自己完善的硬件架构,如处理器、堆栈等,还具有相应的指令系统。
Java虚拟机本质上就是一个程序,当它在命令行上启动的时候,就开始执行保存在某字节码文件中的指令。Java语言的可移植性正是建立在Java虚拟机的基础上。任何平台只要装有针对于该平台的Java虚拟机,字节码文件(.class)就可以在该平台上运行。这就是“一次编译,多次运行”。
❤️Android 应用崩溃?嗯?莫慌,稳住!❤️
从刚开始接触Android开发,第一次发版,遇到程序崩溃,那就一个慌张。好几年过去了,现在的听到程序崩溃?嗯,稍等我看看什么问题,然后该锁定该锁定该解决解决。
发版前减少bug、崩溃等,发版后遇到bug、崩溃也不要慌张,毕竟 bug不 会因为你的慌张而自动修复对吧?要以最快的速度解决(解决问题同样是能力的体现),并说明问题轻重,看看是直接发版还是坐等下次。同时,吸取教训避免同样问题发生。
今天咱们就聊聊Android程序闪退。一个应用的崩溃率高低,决定了这个应用的质量。
uses-permission和permission区别及使用
uses-permission和permission的区别
permission定义权限
uses-permission申请权限
uses-permission(权限申请)
介绍
添加自定义权限,如:
官方权限大全
站内权限大全
permission(自定义权限)
介绍
permission样例
1.先使用定义一个权限
2.provider组件设置权限
3.其他应用(com.scc.ha)使用com.scc.cp包加权限的UserProvider
permission官方文档
permission-group(自定义权限组)
介绍
permission-group样例
Android 解决65536
前言
65536
关于 64K 参考限制
解决64K限制
对 Android 5.0 及更高版本的 Multidex 支持
Android 5.0 之前的 Multidex 支持
为你的应用程序配置 multidex
multidex 库的限制
在主 DEX 文件中声明所需的类
multiDexKeepFile 属性
multiDexKeepProguard 属性
在开发版本中优化 multidex
避免 64K 限制
Android 面试题之 BroadcastReceiver 使用+实例
Broadcast Receiver是什么
Broadcast Receiver使用场景
Broadcast Receiver的种类
按发送顺序
按发送范围
按Broadcast Receiver的实现
Broadcast Receiver的使用
4.1静态注册
4.2动态广播
4.2.1自定义广播接受者,
4.2.2注册广播
4.2.3发送广播
4.2.4注销广播
4.3无序广播
4.4有序广播
Broadcast Receiver实现原理
LocalBroadcastManager特点
Broadcast Receiver注意事项
实例:BroadcastReceiverDemo.zip