刘望舒 刘望舒
4年前
Android Binder原理(四)ServiceManager的启动过程
Binder原理Android框架层本文首发于微信公众号「刘望舒」<!more前言在上一篇文章中,我们以MediaPlayerService为例,讲解了系统服务是如何注册的(addService),既然有注册就势必要有获取,但是在了解获取服务前,我们最好先了解ServiceManager的启动过程,这样更有助于理解系统服务的注册和获取的过程。另外还有一点
DaLongggggg DaLongggggg
4年前
python刷题-01字串
问题描述对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:0000000001000100001100100请按从小到大的顺序输出这32种01串。输出格式输出32行,按从小到大的顺序每行一个长度为5的01串。样例输出00000000010001000011<以下部分省略foriinrange(0
浩浩 浩浩
4年前
【Flutter实战】调试Flutter应用
2.5调试Flutter应用有各种各样的工具和功能来帮助调试Flutter应用程序。Dart分析器在运行应用程序前,请运行flutteranalyze测试你的代码。这个工具是一个静态代码检查工具,它是dartanalyzer工具的一个包装,主要用于分析代码并帮助开发者发现可能的错误,比如,Dart分析器大量使用了代码中的类型注释来帮
Wesley13 Wesley13
3年前
Unity性能优化之特效合并
特效合并,意思是说将粒子所用的零碎图片,以shader为单位合并成一张图集,好处就是可以降低draw call。试想,合并前每个粒子使用一个material,而每一个material就要占用一个drawcall,而合并后多个粒子可以用同一个material,这样就降低了drawcall,提升了性能。转载请注明出处:http://www.cnblogs.
Stella981 Stella981
3年前
GitHub Star 10K,让你的网站更炫酷的开源库
!(https://oscimg.oschina.net/oscnet/d965c43d6fcb483facc0eb72f2996d21.png)来源:GitHub精选Hi!大家好呀!我是你们可爱的喵哥!现在不少网站都支持了骨架屏,能够在网页数据加载前,展示固定的布局,能够减少用户在进入网页时感受到白屏的不适感。今天要给大家推荐一
Stella981 Stella981
3年前
ES6 系列之 Babel 是如何编译 Class 的(上)
_摘要:_ 前言在了解Babel是如何编译class前,我们先看看ES6的class和ES5的构造函数是如何对应的。毕竟,ES6的class可以看作一个语法糖,它的绝大部分功能,ES5都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。constructorES6中:\
Stella981 Stella981
3年前
Mybatis拦截器
1.介绍:   我自己理解中的mybatis拦截器,和普通拦截器一样,在执行一段程序之前对其做一些特殊处理,网上一般都是用其做分页处理、日志记录...,实现原理就是在预处理前对其进行一些处理2.简单说明:  mybatis提供了一个Interceptor接口,方便扩展所需的操作  Object intercept(Invocation in
Wesley13 Wesley13
3年前
MySQL锁
<br1\.表锁表锁分为写锁,读锁,二者读读不阻塞,读写阻塞,写写阻塞<br<br2\.行锁行锁分为共享锁,排他锁,即读锁和写锁多粒度锁机制自动实现表、行锁共存,InnoDB内部有意向表锁意向共享锁(IS):事务在给一个数据行加共享锁前必须先取得该表的IS锁。
Stella981 Stella981
3年前
ES6+(前端面试题整合)
谈一谈let与var和const的区别let为ES6新添加申明变量的命令,它类似于var,但是有以下不同:let命令不存在变量提升,如果在let前使用,会导致报错let暂时性死区的本质,其实还是块级作用域必须“先声明后使用”的性质,let暂时性死区的原因:var会变量提升,let不会。
Wesley13 Wesley13
3年前
3分钟短文:Laravel模型写操作很简单,大多数人容易用错
引言前几期我们通过laravel模型的读操作方法,实现了很多花样繁多的条件筛选查询,可以说足以应对大多数的场景。!(https://oscimg.oschina.net/oscnet/56d64d9bb76e4c2c99b390cd07fbc3b8.jpg)本期说说写操作的那些事,包括创建,修改,这些直接操作数据库数据的