YOU'VE MADE A BRAVE DECISION, WELCOME.

码中自有颜如玉

ADB常用命令

ADB常用命令 安装Apk程序——install adb install -r 应用程序.apk 安装Apk程序——push adb push 例:adb push D:\Test.apk /system/app/ adb install是将apk安装到data/data目录下,作为普通的用户应用程序。而adb push则不是安装命令,它是将一个文件写入手机存储系统。只要拥有相应的权限,就可以把任何apk放到任何目录下。 从手

Read More...


第一章主要介绍Activity的生命周期和启动模式以及IntentFilter的匹配规则。 Activity的生命周期 点击应用图标启动,经历的生命周期为: onCreate—>onStart—>onResume 按返回键 onPause—>onStop—>onDestory 按Home键 onPause—>onStop 按Home键退出后重新进入 onRestart—>onStart

Read More...


第七章主要讲了以下几个方面: 线程组的使用; 线程状态的切换; SimpleDateFormat类与多线程的解决办法; 处理线程的异常。 线程的状态线程的状态:new,Runnable,blocked,waiting,timed_waiting。 new:指刚创建的线程; runnable:运行中的状态; blocked:被阻塞的线程,比如等待锁的释放; waiting:调用wait方法/await方法后的状态; timed_wai

Read More...


第六章主要讲了单例模式与多线程的关系。下面我主要总结一下单例模式的几种方式。 饿汉模式(简单就不说了) 懒汉模式(在多线程环境中,用DCL–double check lock来实现) 静态内部类 public class MyObject4 { private static class MyObjectHandler{ private static MyObject4 object = new MyObject4(); }

Read More...


本章主要讲的是Timer定时器的使用。 schedule(TimerTask task,Date time):在指定的日期执行一次某任务。 执行时间晚于当前时间:在未来时间执行。 public class Run { private static Timer timer = new Timer(); static public class MyTask extends TimerTask { @Override pu

Read More...


第四章主要讲的是Lock的使用。 ReentrantLock类使用ReentrantLock可以实现同步,Condition实现等待/通知。Condition对象可以创建多个,实现只通知部分线程,而不像notifyAll()那样通知所有线程然后交给线程调度器随机通知一个线程,从而提高了效率。 Object类中的wait()方法相当于Condition类中的await()方法。Object类中的wait(long timeout)方法相当

Read More...


线程状态切换示意图: 变量在内存中的工作过程如下: wait,notify与notifyAll()wait()方法可以使调用该方法的线程释放共享资源的锁,然后从运行状态退出,进入等待队列,直到被再次唤醒。notify()方法可以随机唤醒等待队列中等待同一共享资源的“一个线程”,并使该线程退出等待队列,进入可运行状态,也就是notify()方法通知“一个”线程。notifyAll()方法可以使所有正在等待队列中等待同一共享资源的“全部

Read More...


synchronized同步方法 方法内的变量线程安全,不需要做同步处理,每个线程持有一个该变量; 实例变量非线程安全; 多个对象多个锁; 同步不具有继承性;父类方法为同步方法,子类继承父类该方法,如果不声明为同步方法,那么子类方法为非同步方法。 synchronized锁可重入,当一个线程得到一个对象锁后,再次请求此对象锁时是可以再次得到该对象的锁;(1). 父子类继承 class Parent{ synchronized publ

Read More...


高考前别人都在努力的复习,我在看教材。看着目录想着每一个对应的标题下,对应的考试大纲,再联系自己做过的该条目的考察套路。虽然最后成绩也一般,但是过得很轻松,性价比很高。看到这本书,代码多于枯燥的理论,所以拿过来,将以往不管是项目还是学习中遇到的问题回顾下,就当看教科书。 常用方法 currentThread() 返回代码段正在被哪个线程执行。 isAlive()判断当前线程的状态。 sleep()线程沉睡一段时间。 getId(

Read More...


Android Camera

在API21之前,使用的是android.hardware.Camera,21之后推荐使用的是android.hardware.camera2。作为学习,我们先了解下Camera API1。 使用android.hardware.Camera完成拍照,经历一下几步: 通过调用open(int)来得到一个Camera实例; 通过调用getParameters()来得到相机默认的设置; 如果需要的话,改变相机的设置选项并调用setPa

Read More...


虽然还没想好写点什么,但是总觉得这里放句话比较和谐。