自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 关于BlockCanary的源码分析

关于BlockCanary的源码分析,BlockCanary是阿里一位程序员开发的检测应用耗时情况的框架,具体使用方法自行查看,非常方便,可以重写设定阈值的方法,来找出应用中比较耗时的代码。

2017-12-21 18:14:26 380

原创 写一个APP控制第三方播放器播放,以及获取正在播放的歌曲信息

最近遇到这么一个需求,就是在自己的应用中控制第三方播放器播放,以及获取正在播放的歌曲信息,包括名字,歌手,专辑,显示出来。一开始觉得很简单,但实际上遇到了不少的麻烦,最终实现了两种方案,读者可根据自己需要选择。

2017-11-30 09:51:31 6554 3

原创 关于Android的BroadcastReceiver的onReceive方法中回调结果给Activity的问题

目前这么一个需求,需要写一个广播去接收其他APP发出的广播,广播不止接收一次,每次接收都会去更新Activity中的内容。本可以直接把广播接收写在Activity中,但我想单独出来写,但这样子的话无法获取到Activity中的布局元素,也就无法更新内容,本来想用全局变量,但问题不是传递变量那么简单,还要考虑每次接收到要更新的问题,所以还是必须在onReceive中处理。最后的做法是写一个callB

2017-11-27 09:53:29 6042

原创 AsyncTask的使用及参数、方法的介绍

在安卓开发的时候,为了避免OOM问题或者提高程序运行速度,一般不会在主线程中做耗时的操作。因此当有需要做耗时操作的时候,都会开启一个子线程,通过handler来获取数据后更新UI,而Android给我们提供了一个类AsyncTask,可以看做是 thread+handler的结合。AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提

2017-08-15 13:00:28 1825

原创 关于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 6962

原创 关于打开APP进入欢迎界面后,自动跳到主页面的解决方法

这个问题很简单,但是之前没有去查找教程,导致自己做了之后一堆莫名其妙的BUG,一开始是直接在欢迎界面定义了一个BUTTON,然后点击该BUTTON跳转到主界面,但显然这不是我想过要的效果,后面就想到用Handler来实现,然后在OnCreate方法里开一个线程来启动主界面,具体代码如下:加粗的为该方法的核心代码,其他的只是动画效果。package com.example.grass.intent;

2017-04-03 20:48:07 4513

翻译 Android的Dalvik虚拟机与Java的JVM虚拟机之间的差异

①Dalvik 基于寄存器,而 JVM 基于栈。基于寄存器的虚拟机对于更大的程序来说,在它们编译的时候,花费的时间更短。②Dalvik负责进程隔离和线程管理,每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行。③Dalvik虚拟机运行的是其专有的文件格式Dex,dex文件格式可以减少整体文件尺寸,提高I/o操作的类查找速度。而Java虚拟

2017-03-28 00:15:24 938

原创 安卓开发中的OOM问题

OOM - Out of Memory,即为内存溢出;一般是由于程序编写者对内存使用不当,如对该释放的内存资源没有释放,导致其一直不能被再次使用而使计算机内存被耗尽的现象。重启计算机即可,但根本解决办法还是对代码进行优化。OOM问题通常出现在用到很多图片或者图片很大的APP开发中(很遗憾笔者目前还没遇到过……因为开发的APP测试数据就几十组,图片也就几十张)。按常理来说,手机系统一般都有足够的

2017-03-20 23:37:45 535

原创 EJB概念理解

先来看一下EJB(Enterprise JavaBean)的定义:EJB是sun的JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序。简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB (Enterprise JavaBean)是J2EE(javaEE)的一部分,定义了一个用于开发基

2017-03-18 22:21:20 679

翻译 简介三种垃圾回收机制:分代复制垃圾回收,标记垃圾回收,增量垃圾回收

一、分代复制垃圾回收不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。 在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的 Session对象、线程、Socket连接,这类对象跟业务直接挂钩,因此生命周期比较长。但是还有一些对象,主要 是程序运行过程中生成的临时变量,这些对象生命周期会比较

2017-03-17 13:52:13 6808

翻译 关于finally和finalize的使用

一、finally的使用finally关键字是对 Java 异常处理模型的最佳补充。finally 结构使代码总会执行,而不管有无异常发生。使用 finally 可以维护对象的内部状态,并可以清理非内存资源。这里举个例子说明不使用finally时如何释放非内存资源import java.net.*; import java.io.*; class WithoutFinally

2017-03-16 12:28:03 443

原创 第一次写博客,谈谈对HashMap和Hashtable的区别理解

今天看到JAVA基础中有关于HashMap和Hashtable的区别,字面上比较笼统,因此决定具体进行了解。Hashtable已经是个过时的集合类,在Java 4中被重写了,实现了Map接口,所以自此以后也成了Java集合框架中的一部分。所以HashMap相对于Hashtable有它自己的优点,HashMap:基于哈希表的 Map 接口的实现,二者其实可以说是几乎等价的。二者的

2017-03-16 09:07:10 433

图形学,利用OpenGL函数进行鼠标、键盘操作,创建菜单等

图形学的实验~鼠标画线、键盘移动、创建颜色选择菜单三个功能皆实现了。如果项目运行有BUG的话,直接把cpp文件里的代码复制过去新建个项目就可以了

2017-04-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除