- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 关于BlockCanary的源码分析
关于BlockCanary的源码分析,BlockCanary是阿里一位程序员开发的检测应用耗时情况的框架,具体使用方法自行查看,非常方便,可以重写设定阈值的方法,来找出应用中比较耗时的代码。
2017-12-21 18:14:26
423
原创 写一个APP控制第三方播放器播放,以及获取正在播放的歌曲信息
最近遇到这么一个需求,就是在自己的应用中控制第三方播放器播放,以及获取正在播放的歌曲信息,包括名字,歌手,专辑,显示出来。一开始觉得很简单,但实际上遇到了不少的麻烦,最终实现了两种方案,读者可根据自己需要选择。
2017-11-30 09:51:31
6940
2
原创 关于Android的BroadcastReceiver的onReceive方法中回调结果给Activity的问题
目前这么一个需求,需要写一个广播去接收其他APP发出的广播,广播不止接收一次,每次接收都会去更新Activity中的内容。本可以直接把广播接收写在Activity中,但我想单独出来写,但这样子的话无法获取到Activity中的布局元素,也就无法更新内容,本来想用全局变量,但问题不是传递变量那么简单,还要考虑每次接收到要更新的问题,所以还是必须在onReceive中处理。最后的做法是写一个callB
2017-11-27 09:53:29
6244
原创 AsyncTask的使用及参数、方法的介绍
在安卓开发的时候,为了避免OOM问题或者提高程序运行速度,一般不会在主线程中做耗时的操作。因此当有需要做耗时操作的时候,都会开启一个子线程,通过handler来获取数据后更新UI,而Android给我们提供了一个类AsyncTask,可以看做是 thread+handler的结合。AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提
2017-08-15 13:00:28
1942
原创 关于AS用点9图时遇到的错误的解决方法Error:Execution failed for task ':app:mergeDebugResources'
今天在做一个布局文件,需要用到点9图,编译时遇到了图下的问题,百度了答案,解决方法无非两个,但都讲得不太好,所以在这里直接总结。 首先这个问题的出现,主要有几个原因①直接在AS中将jpg图片改成png为后缀的图片;②点9图不规范,AS中点9图必须四边全部描黑点,而这在eclipse中不需要。 解决方法有两个:①在build.gradle里添加以下两句:aaptO
2017-04-04 00:22:59
7075
原创 关于打开APP进入欢迎界面后,自动跳到主页面的解决方法
这个问题很简单,但是之前没有去查找教程,导致自己做了之后一堆莫名其妙的BUG,一开始是直接在欢迎界面定义了一个BUTTON,然后点击该BUTTON跳转到主界面,但显然这不是我想过要的效果,后面就想到用Handler来实现,然后在OnCreate方法里开一个线程来启动主界面,具体代码如下:加粗的为该方法的核心代码,其他的只是动画效果。package com.example.grass.intent;
2017-04-03 20:48:07
4763
翻译 Android的Dalvik虚拟机与Java的JVM虚拟机之间的差异
①Dalvik 基于寄存器,而 JVM 基于栈。基于寄存器的虚拟机对于更大的程序来说,在它们编译的时候,花费的时间更短。②Dalvik负责进程隔离和线程管理,每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行。③Dalvik虚拟机运行的是其专有的文件格式Dex,dex文件格式可以减少整体文件尺寸,提高I/o操作的类查找速度。而Java虚拟
2017-03-28 00:15:24
998
原创 安卓开发中的OOM问题
OOM - Out of Memory,即为内存溢出;一般是由于程序编写者对内存使用不当,如对该释放的内存资源没有释放,导致其一直不能被再次使用而使计算机内存被耗尽的现象。重启计算机即可,但根本解决办法还是对代码进行优化。OOM问题通常出现在用到很多图片或者图片很大的APP开发中(很遗憾笔者目前还没遇到过……因为开发的APP测试数据就几十组,图片也就几十张)。按常理来说,手机系统一般都有足够的
2017-03-20 23:37:45
591
原创 EJB概念理解
先来看一下EJB(Enterprise JavaBean)的定义:EJB是sun的JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序。简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB (Enterprise JavaBean)是J2EE(javaEE)的一部分,定义了一个用于开发基
2017-03-18 22:21:20
763
翻译 简介三种垃圾回收机制:分代复制垃圾回收,标记垃圾回收,增量垃圾回收
一、分代复制垃圾回收不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。 在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的 Session对象、线程、Socket连接,这类对象跟业务直接挂钩,因此生命周期比较长。但是还有一些对象,主要 是程序运行过程中生成的临时变量,这些对象生命周期会比较
2017-03-17 13:52:13
6991
翻译 关于finally和finalize的使用
一、finally的使用finally关键字是对 Java 异常处理模型的最佳补充。finally 结构使代码总会执行,而不管有无异常发生。使用 finally 可以维护对象的内部状态,并可以清理非内存资源。这里举个例子说明不使用finally时如何释放非内存资源import java.net.*; import java.io.*; class WithoutFinally
2017-03-16 12:28:03
520
原创 第一次写博客,谈谈对HashMap和Hashtable的区别理解
今天看到JAVA基础中有关于HashMap和Hashtable的区别,字面上比较笼统,因此决定具体进行了解。Hashtable已经是个过时的集合类,在Java 4中被重写了,实现了Map接口,所以自此以后也成了Java集合框架中的一部分。所以HashMap相对于Hashtable有它自己的优点,HashMap:基于哈希表的 Map 接口的实现,二者其实可以说是几乎等价的。二者的
2017-03-16 09:07:10
477
图形学,利用OpenGL函数进行鼠标、键盘操作,创建菜单等
2017-04-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人