- 博客(71)
- 资源 (2)
- 问答 (2)
- 收藏
- 关注

原创 安卓启动流程
看了很多相关博客,今天也来自己梳理以下~~~ Android从Linux系统启动 init进程启动 Native服务启动 System Server, Android 服务启动 Home启动总体启动框架:Init进程启动 首先uboot引导Linux内核启动,然后在用户空间中启动init进程,再启动其他系统进程。在系统启动完成完成后,init将变为守护进程监视系统其他进
2016-06-13 16:19:31
6829
原创 x264惹得祸
最近研究读取安卓手机摄像头数据并利用ffmpeg实时编码为H.264编码格式的FLV文件~ 到下面代码时,就打印找不到编码器~pCodec = avcodec_find_encoder(AV_CODEC_ID_H264);if (!pCodec){ LOGE("Can not find encoder!\n"); return -1;}网上搜了一下,是--enable
2016-09-12 21:14:54
1616
原创 打磨APP(二)
1. 为啥要打磨APP,为啥要性能优化?为了省电,为了快! 安卓手机作为移动设备.它的电量比标准台式机或笔记本电脑少很多.为啥苹果手机体验好,很重要因素也是速度快,基于这些原因,我们有必要关心内存的消耗! 特别是在Android 5.0以前,你想避免触发垃圾回收器.结果就是Android运行时(runtime)有一个大约200ms的冻结期(freeze) .如果用户正在滚动一个list,那将会
2016-09-09 18:00:07
1545
原创 打磨APP(一)
Android打造高性能app“xxx,手机越来越发热了” “xxx,怎么手机越来越卡了” “xxx,又崩了”1–学会申请内存1.1 分析内存的使用情况系统不可能将所有的内存都分配给我们的应用程序,每个程序都会有可使用的内存上限,被称为堆大小。不同的手机堆大小不同,如下代码可以获得堆大小: 结果以MB为单位进行返回,我们开发时应用程序的内存不能超过这个限制,否则会出现OOM。为了维持多任务的功
2016-09-09 14:21:41
1463
1
原创 架构之异步任务
AsyncTask是啥? AsyncTask是一个围绕Handler和Thread而设计的辅助类,封装了在工作线程中与UI交互的细节,只需要对应重写几个回调方法即可,并使得代码更加简洁,优雅。但要注意的是AsyncTask并不构成一个通用的线程框架 ,这在Android官方介绍中有提到:AsyncTask is designed to be a helper class around {@link
2016-09-09 09:43:53
691
原创 线程等待join(),wait()
场景1.有3线程个同时执行,怎样第3个线程等1和2线程退出之后,自己退出?仔细想了下,join()可以阻塞当前线程 Thread thread1 = new Thread() { private boolean isRunning = true; private int timer; @Override public void run(
2016-09-08 11:45:46
678
原创 暴力测试Service
为了更好地了接服务Service的生命周期,采用暴力测试,一下会多次启动服务,绑定服务,不按常理走! 1个服务==>CoreService 2个活动==> FirstActivity和SecondActivity 测试1: 先启动,再绑定 启动FirstActivity第1步:startService 第2步:bindService 第3步:多次bindServi
2016-09-07 21:06:07
458
原创 Laravel - DB facade实现CURD
1.查看app\config\database.php'default' => env('DB_CONNECTION', 'mysql'),默认用的mysql数据库,接着向下看'connections' => [ 'sqlite' => [ 'driver' => 'sqlite', 'database' => env('DB_DATAB
2016-09-04 12:39:18
1052
原创 phpmyadmin安装
phpmyadmin是一个web应用,它可以管理咱们的mySql数据库 界面比较友好,有图形化界面,干嘛不用~官网下载: https://www.phpmyadmin.net/downloads 1.下载最新的吧,4.6.4 注意你的PHP版本和MySql版本2.解压到某个目录下,然后修改文件夹名字(默认的太长了),改为phpMyAdmin3.移动到web根目录下面,我的根目录是/www
2016-09-02 17:27:44
399
原创 Laravel目录结构
一个新项目的模板结构如上图1. app 目录包含了应用的核心代码,咱们的主要业务逻辑都是写在这里,其中最重要的是http目录,MVC架构中的控制器书写在Controllers下面; 2.bootstrap 目录包含了少许文件用于框架的启动和自动载入配置,还有一个 cache 文件夹用于包含框架生成的启动文件以提高性能; 3.config 目录包含了应用所有的配置文件,比如缓存,数据库…; 4
2016-09-02 15:03:27
701
原创 PHP升级
升级到PHP5.3.17wget http://soft.laozuo.org/wdcp/php_up53.shsh php_up53.sh升级到PHP5.5.9wget http://soft.laozuo.org/wdcp/php_up55.shsh php_up55.sh升级到PHP5.6.12wget http://soft.laozuo.org/wdcp/php_up569.shsh
2016-09-02 10:52:03
1318
原创 android跳动的小球动画
平时对牛逼动画,高级UI,都深入的不多!近日,某头条,推了一个android技术类视频(平时在头条关注技术比较多),讲的是加载动画效果,是动脑学院讲的公开课,160分钟,我硬是拿着小手机看完了!边看,便记,然后整理了一下,规范了一下代码 做这个动画,需掌握: 1、属性动画 2、Path类、Canvas类 3、贝塞尔曲线 4、SurfaceView用法 5、自定义attr属性 6 、架
2016-08-30 12:40:30
2791
1
原创 android增量更新
今天学习了一下增量更新,这个技术已经出现很长时间了,但是现实中,估计只有大厂才利用了这一技术在做产品! 国内有些第三方服务平台,像友盟提供自动更新的服务,也是用的增量方式! 其他的像QQ,Sina微博,陌陌,蘑菇街等都用到了,解压一下它们的apk,看一下lib目录: QQ:libbspatch.so 微博:libbsdiffjni.so 陌陌:libbsdiff.so 蘑菇街:libpa
2016-08-27 14:49:19
1813
原创 图片加载UIL的Disk缓存策略
统一接口interface DiskCache 缓存策略有 1.0.0版本出现 UnlimitedDiskCache 1.3.1版本出现 LimitedAgeDiskCache: 1.9.2版本出现 LruDiskCache 在ext扩展包下面 其中UnlimitedDiskCache是默认的缓存模式 UnlimitedDiskCache和LimitedAgeDiskCache
2016-08-25 18:24:49
411
原创 图片加载 经典的UIL框架
加载图片最终入口public void displayImage(String uri, ImageAware imageAware, DisplayImageOptions options, ImageSize targetSize, ImageLoadingListener listener, ImageLoadingProgressListener progressLi
2016-08-25 11:29:40
594
原创 ubuntu下折腾ReactNative
折腾一下RN 我用的ubuntu开发环境 前提:java,安卓的环境确保已经搭好了,现在研究RN,只需要配置NodeJS环境 准备工作,android sdk环境变量配置,后面android项目编译的时候会用到 ! vim ~/.bashrcexport ANDROID_HOME=/home/shone/Soft/sdkexport PATH=${ANDROID_HOME}/platfo
2016-08-23 15:20:58
1813
原创 自己解决基于MQTT的android推送
突然想探索一下MQTT的推送~ 都是现成的架子,搭起来很容易!1.先配置服务端,测试的时候可以在本地先测试这里选择apache的开源项目 http://activemq.apache.org/activemq-5140-release.html 这里我用的系统是ubuntu14.0.4选择的是Linux版本,下载压缩包. 解压到自己的软件目录.ss@Dell:~/Soft/apache-ac
2016-08-19 12:23:48
1184
1
原创 android的Lambda
Lambda表达式的语法 基本语法: (parameters) -> expression 或 (parameters) ->{ statements; }Lambda表达式是在JDK 8中开始支持的一种函数式推导语言,能够大量减少匿名内部类那种冗余的代码。在Android中,可以大量使用在设置监听,设置异步回调等场景。平时用androidstudio开发android,确实写回调的时候,匿
2016-08-18 16:15:14
282
原创 PHP关于变量$的初始值
初始值在这,别掉进陷阱里对于一个给定的变量,怎么判断这个变量不是 [NULL ,未定义,定义但没赋值,空字符串,空数组]?$a = array(); // 可定义为 null,空字符串,空数组等if ($a) { echo 'success';}官方真值表: http://php.net/manual/zh/types.comparisons.php
2016-08-16 22:55:30
2263
原创 Http状态code(PHP开发)
Note 1xx: Informational - Request received, continuing process 2xx: 成功 - The action was successfully received, understood, and accepted 3xx: 重定向 - Further action must be taken in order to compl
2016-08-16 20:03:13
1202
原创 闭包
JS闭包 function func3(){ var num3 = 44; function func4(){ return num3; } return func4; } var func = func3(); console.log(func());在外部无法获取到func3内部的局部变量,但是func3内部的局部方法func4却可以获
2016-08-16 17:04:26
268
原创 Cookie与Session
HTTP协议本身是无状态的,客户只需要简单的向服务器来发送请求下载某些文件,客户端向服务器端发送的每次请求都是独立的。对于当前的web应用,HTTP的“无状态”,导致许多应用都不得不花费大量的精力来记录用户的操作步骤。cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以se
2016-08-16 16:15:11
262
原创 Laravel API笔记
<1>namespace Carbon– DateTime 库获取日期的api /vendor/nesbot/carbon/src/Carbon/Carbon.phpprintf("Right now is %s", Carbon::now()->toDateTimeString());printf("Right now in Vancouver is %s", Carbon::now('Ame
2016-08-16 15:47:58
686
原创 OAuth2授权(Client Credentials)
OAuth 2.0定义了四种授权方式。 1.授权码模式(authorization code) 2.简化模式(implicit) 3.密码模式(resource owner password credentials) 4.客户端模式(client credentials)ClientCredentials客户端模式: Client使用自己的 client证书(如 clien
2016-08-15 23:10:58
32430
1
原创 Laravel小记
1.创建表:php artisan migrate:make create_movies_table目录app/database/migrations/下生成一个表文件,它有一个up()和down()函数,down()是up的反向操作,比如说创建字段 > 移除字段2.创建字段public function up(){ Scheme::create('movies', function($ta
2016-08-14 12:40:19
747
原创 RxJava笔记
RxJava的流行就不多说了,作为程序员的我,碰到流行的架子,当然是比较欣喜,比较好奇,我看一下RxJava响应式编程有哪些特性,学习学习!源码地址 https://github.com/ReactiveX/RxJava RxJava is a Java VM implementation of Reactive Extensions: a library for composing asyn
2016-08-12 23:40:22
357
原创 Laravel项目部署到Nginx服务器除了/目录,全飘404
不管是Nginx还是Apache,如果不配置,都会出现404,不能路由.我云服务器安装的是WDCP,默认的Nginx配置文件 nginx/conf/vhost/00000.default.conf 用vim编辑 在server {}里加上location / { try_files $uri $uri/ /index.php?$query_string;}然后保存,重启nginxdw
2016-08-08 17:16:19
10305
原创 关于SSH暴力破解
SSH暴力破解大约自linux系列产品诞生之后,就衍生出来的一种攻击行为,不仅仅SSH暴力破解,ftp、telnet、smtp、mysql等等都是暴力美学黑客的最爱。 国外安全研究者做了个统计,他们搭建了一台蜜罐服务器,该服务上安装了修改后的SSHD版本,记录所有的登陆尝试和存储的所有会话,一旦被黑客攻击,可以查看到所有暴力破解尝试记录。 与往年不同,在十年前,一台服务器放在网络上,
2016-08-08 16:21:16
5342
1
原创 redis make test报错
Centos6.5安装完做test的时候># make testcd src && make testmake[1]: Entering directory `/home/soft/redis-2.8.9/src'You need tcl 8.5 or newer in order to run the Redis testmake[1]: *** [test] Error 1make[1
2016-08-08 12:18:55
1924
原创 Centos 6.5 Git版本升级
阿里云Centos6.5自带1.7版本git,比较老[root@xxxxx soft]# git versiongit version 1.7.1[root@xxxxx soft]# yum remove git卸载后,咱们安装新版本wget https://github.com/git/git/archive/v2.2.1.tar.gz解压tar -zxvf v2.2.1.tar.gz生成配置
2016-08-08 11:44:58
642
原创 安卓版本note
各个版本的大事件,android从08年诞生到至今的7.0 N已经8年了,越来越健壮~~~/** * October 2008: The original, first, version of Android. Yay! */ public static final int BASE = 1; /** * Feb
2016-08-05 23:47:14
562
原创 充电website note
Laravel 学习 https://laravist.com/ 宁浩网 http://ninghao.net/ 慕课大巴 http://www.mukedaba.com/thread-767-1-1.htmlandroid: 有心课堂 http://www.stay4it.com/
2016-08-05 16:48:08
331
原创 快速第三方入口(持续关注)
1.短信注册: sharesdk 性质:免费 http://wiki.mob.com/android-%E7%9F%AD%E4%BF%A1sdk%E9%9B%86%E6%88%90%E6%96%87%E6%A1%A3/ 阿里大于: 性质:收费 http://www.alidayu.com/service/code?spm=a3142.7791109.199920
2016-08-05 14:54:29
410
原创 连接mongodb,查询地理位置的问题
MongoCursorException (13038)localhost:27017: can't find any special indices: 2d (needs index), 2dsphere (needs index), for: { $and: [ { poi: { $near: [ 113.873208, 22.579245 ] } }, { isbanned: 0 }, { u
2016-08-02 23:52:13
622
原创 mysql笔记
1.进入数据库mysql -u root -p guesserguesser为数据库名,然后输入密码,我是以root登录的.2.查看当前的所有数据库mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || guesser
2016-08-02 18:09:02
3775
原创 Redis笔记
系统环境和版本说明 Linux操作系统选用Ubuntu 14.04,Redis的版本选取目前的最新稳定版本2.8.9。 1.下载Redis的安装包 wget http://download.redis.io/releases/redis-2.8.9.tar.gz 2.解压 tar xvfz redis-2.8.9.tar.gz 3.编译 sudo make 4.安装 sudo mak
2016-08-02 16:53:41
4141
原创 mongoDB笔记
创建一个超级用户gulu@Dell:/www/wdlinux/mongodb/bin$ mongoMongoDB shell version: 2.4.9connecting to: test> use adminswitched to db admin> db.addUser("root", "123456"){ "_id" : ObjectId("579ea9507bc4a
2016-08-02 15:37:49
3240
原创 ~/.bash_profile等脚本的初始化
网络解释: 在登录Linux时要执行文件的过程如下: 刚登录Linux时,首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile、~/.bash_login或 ~/.profile文件中的其中一个,执行的顺序为:~/.bash_profile、 ~/.bash_login、 ~/.profile。如果 ~/.bash_profile文件存在的话,一
2016-08-02 14:55:50
3347
原创 WDCP启动命令
摘抄自网络,怕忘了:默认情况下wdcp的后台是使用到8080端口,可修改lamp环境里 httpd是用到80端口lnmp环境里 nginx是用到80端口在lnamp环境里 httpd是用到88端口(不可修改) nginxd是用到80端口相关的启动命令service wdapache start|stop|restart wdcp后台 启动|停止|重起service nginxd st
2016-08-01 22:56:37
6768
MongoDB 2d查询一直报错
2016-08-03
phpStorm如何把PHP项目部署到本地WDCP服务器下面
2016-07-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人