梦想记
一人一猫闯帝都~
但行好事,莫问前程
TankSao24
编程不仅仅是一门技术,更是一门艺术~
展开
-
一人一猫旅行记之浅析单例模式
单例模式是我们日常工作中接触最多,也可以说是最简单的一个设计模式。那么什么是单例呢?为什么要用这种模式? 单例简单来说就是只进行一次初始化,以Imageloader为解释为什么要用这种模式,因为ImageLoader会涉及到大量的io和网络请求,消耗大量的资源,为了减少资源的消耗和浪费,便出现了单例模式。 我们常见的单例模式有很多种实现方式,比如饿汉模式、懒汉模式、双加锁模式等等,下面以简单的例子来一一记录这些单例模式的实现: 1、饿汉模式 为何称之为“饿汉模式”呢?因为饿汉经常会突然的饿意袭来,为了在饿意原创 2020-10-10 17:01:16 · 155 阅读 · 0 评论 -
一人一猫旅行记之浅析序列化及原理
在Activity跳转的时候,往往需要传递一个对象。不像String等基本类型,可以直接通过Intent的putExtra方法将数据加到Bundle中,换句话说对象并不是计算机可以识别的类型。 这样的话就涉及到了一个概念,序列化。 什么是序列化呢?序列化就是将对象转成可以存储或者传递的形式的过程,反序列化也是一个相反的过程,也就是将序列化后的数据转换成对象的一个过程。 Java与安卓分别提供了一种序列化的方法(Serializable和Parcelable) ...原创 2020-09-29 15:40:56 · 196 阅读 · 0 评论 -
一人一猫旅行记之Intent传递数据原理
安卓提供了Intent机制来实现应用间的通信,可以在Activity之间、Service、BroadCast中传递数据。提起Intent,我们最熟悉的可能就是在启动Activity的时候携带数据,使用非常简单: Intent intent = new Intent(MainActivity.this,SecondActivity.class); intent.putExtra("param1","我是参数1"); startActivity(intent); 在新的Activity,也就是Activity原创 2020-09-27 23:56:11 · 1866 阅读 · 2 评论 -
一人一猫旅行记之Handler原理
如果在主线程(也叫UI线程)中执行一些耗时操作,会出现ANR问题。为了避免ANR,需要将耗时操作,如网络请求啊、数据库操作啊、读取文件等等的操作,开启一个子线程来处理。 在耗时操作执行完毕后,直接在子线程中更新UI怎么样呢? 一般来说,会出现下面这个错误: android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its原创 2020-09-25 15:22:14 · 3132 阅读 · 1 评论 -
一人一猫旅行记之懒人ROOT
分享一种懒人ROOT方法: 首先,做一些准备工作。 准备工作: 1、下载第三方Recovery 下载地址:https://twrp.me/Devices/ 1.1进入后,输入pixel选择对应的设备类型(我这里选择的是第一个sailfish) 1.2选择产地(美版或者欧版,如果不确定的话随便选一个,相信缘分) 1.3下载zip和img(需要注意的是版本一定要一致,我这里两个都是下载的3.4.0.0版本的) 2、下载Magisk 下载地址:https://magiskmanager.com/ 进入网址后原创 2020-09-14 17:21:41 · 238 阅读 · 0 评论 -
一人一猫旅行记之ROOT
Permission denied 相信很多开发人员对上面的两个单词十分熟悉了,尤其在安卓7.0之后,安卓根据用户分组给进行权限的控制 想要访问其他应用data下的数据? 对不起,Permission denied 正如常言道“上有政策,下有对策”,既然安卓系统可以进行权限的控制,那我们肯定有办法拜托系统的控制,因此ROOT便成为了安卓开发人员耳闻能详的一个东西。 那么,什么是ROOT呢?前面提到了,安卓系统通过用户分组来分配权限,而root用户正是最高权限的拥有者,因此所谓的root,可以理解为获得系统访原创 2020-09-14 17:07:34 · 224 阅读 · 0 评论