正则表达式
正则验证小于1000000且最多两位小数的正则:
^([1-9]\d?(.\d{1,2})?|0.\d{1,2}|1000000)$ 或者\d{6}.\d{2} 。Fiddler 抓包
用Fiddler抓包工具监控网络,并给自己的手机设置代理 查看自己电脑的IP 在 cmd中输入ipconfig 即可
边界处理
在对某个类进行操作,或者基于某个类给另一个类进行操作的时候,首先要判断要操作的那个类是否为空。
getactivity 这个方法在一个类中只有一个,所以有时候可以直接调用,不需要添加this标签。
对于某些函数中需要传递的参数,如果本类中没有该种类型,可以getInstance 也阔以尝试直接传递null替代。
加载优化
如果一个类中需要加载不同的多个界面,那么最好采用
标签将其中一个界面嵌套进去,便于管理 关于内存泄漏:
开发中需要注意的点以免内存泄漏:
不要让生命周期长于Activity的对象持有到Activity的引用
尽量使用Application的Context而不是Activity的Context
尽量不要在Activity中使用非静态内部类,因为非静态内部类会隐式持有外部类实例的引用(具体可以查看细话Java:”失效”的private修饰符了解)。如果使用静态内部类,将外部实例引用作为弱引用持有。
垃圾回收不能解决内存泄露,了解Android中垃圾回收机制
- 获取context的方法,以及使用上context和applicationContext的区别:
View.getContext,返回当前View对象的Context对象,通常是当前正在展示的Activity对象。
Activity.getApplicationContext,获取当前Activity所在的(应用)进程的Context对象,通常我们使用Context对象时,要优先考虑这个全局的进程Context。
ContextWrapper.getBaseContext():用来获取一个ContextWrapper进行装饰之前的Context,可以使用这个方法,这个方法在实际开发中使用并不多,也不建议使用。
Activity.this 返回当前的Activity实例,如果是UI控件需要使用Activity作为Context对象,但是默认的Toast实际上使用ApplicationContext也可以。
- AccessibilityService 的相关介绍和使用
- 介绍:AccessibilityService 可以用来自动化测试,自动抢红包,自动安装等第