有人问,为什么想要投递大厂,总结一下大概有这么几个出发点: 1.追求高薪资 相对小厂而言,大厂的薪资水平会更高不少。具体数字区间就不细说了,但是大厂整体会大方很多,只要你能够通过面试,30%甚至更高的涨薪都有机会拿到,更…
分类:移动开发
Dagger2使用简析——@Scope、@Qualifier、@binds、dependencies、Lazy
在了解了简单注入对象的使用后,我们将问题升级。我们平常开发中为了节省资源,在APP的生命周期内很多对象都是作为单例存在的,因此现在我们尝试解决三个问题 将一个对象注入到Application中,并且保证它在整个APP的生…
数独的R语言实现
#数独程序说明V1.1-by(jiangli) R #输入9*9 数独题目,解出所有可能 ###目前计算机解数独主要靠遍历 ###能否用神经网络解决数独问题?有明确的起点与终点 ###部分题目训练后能主动推导出结果 ##…
Android:动态加载技术 简单易懂的介绍方式
我们很早开始就在Android项目中采用了动态加载技术,主要目的是为了达到让用户不用重新安装APK就能升级应用的功能(特别是SDK项目),这样一来不但可以大大提高应用新版本的覆盖率,也减少了服务器对旧版本接口兼容的压力,…
tinker热修复核心代码解析
实现原理 重置dex加载顺序,把修复后的class所在的dex提前加载,由于包名类名一致,所以后面的有问题的class就不会被加载。 代码实现 private fun fix() { //1.把内存卡中的.dex移动至a…
Android Lollipop (5.0) 屏幕录制实现
引言 网上很多关于 Android 录屏的解决方案是通过读取 /dev/graphics/fb0 里面的 frame buffer,然后再通过各种开源编码器转为视频,但必须要 root 才行,而且有些手机即便你 root…
找回Git中丢失的Commit
@[git|commit|reflog] 在使用Git的过程中,有时候会因为一些误操作,比如reset、rebase、merge等。特别是在Commit之后又执行了git reset --hard HEAD强制回滚本地记…
记一件需要反省的事——如何实现webView内部跳转
起因 今天在做一个“WebView内部跳转”的小需求时,发现了一件比较诡异的事:项目中没有在 shouldOverrideUrlLoading中主动去用view.loadUrl逻辑处理,为何能够实现WebView内部跳转…
Android Handler 机制 - Looper,Message,MessageQueue
Android Studio 2.3 API 25 从源码角度分析Handler机制。有利于使用Handler和分析Handler的相关问题。 Handler 简介 一个Handler允许发送和处理Message,通过关…
自定义View( 启动页倒计时)
项目需要在启动页加上倒计时的功能,所以自定义了一个倒计时的View,下面的是具体的分析 1、自定义View的基础 一般情况下,自定义View可以有三种方式, 第一种:就是继承View或者ViewGroup来自己从头开始实…
可能是Android平台上最快的图片压缩框架
emmm…不管怎么说,我也写了一个图片压缩框架。 在Luban的算法策略上,我丰富了外围的api,提供更多的可配参数,多线程压缩和不同细粒度的任务控制。 项目地址 https://github.com/ghn…
在Android Studio中进行单元测试和UI测试 - 9.祝贺!
系列教程 在Android Studio中进行单元测试和UI测试 – 1.概述 在Android Studio中进行单元测试和UI测试 – 2.创建新的Android Studio工程 在Andr…