smallSohoSolo

smallSohoSolo Blog

AspectJ从入门到实用

AspectJ是Eclipse出品的Aop框架,可以帮助我们进行很方便的Aop编程。目前最新版是AspectJ 1.8.10 官网链接:http://www.eclipse.org/aspectj/ 另附带Aop(面向切面编程)科普:什么是面向切面编程AOP? 优点 无侵入性 学习成本低 支持各种格式,并且很成熟 缺点 会增加方法数 在动态修改字节码方面...

Android内存泄漏小谈

Android内存泄漏是一个经常要遇到的问题,程序在内存泄漏的时候很容易导致OOM的发生。那么如何查找内存泄漏和避免内存泄漏就是需要知晓的一个问题,首先我们需要知道一些基础知识。 Java的四种引用 强引用: 强引用是Java中最普通的引用,随意创建一个对象然后在其他的地方引用一下,就是强引用,强引用的对象Java宁愿OOM也不会回收他 软引用: 软引用是比强引用弱的引用,在Java ...

Go简明教程

最近有需求做后端,技术选型选择主力开发语言,于是乎从Python,Go,Java,PHP中做选择,经过测试和调研 Go,天生高并发支持,语法简洁,C系列有语言基础 占用内存和CPU资源小,创业公司机器紧张哈 效率超然 通过wrk测试,递归测试,字符串拼接测试 Go完美胜出,无论是内存占用,还是处理速度,都位列第一。编译型的语言就是强 233 IDE选择 强烈推荐In...

Android IPC终极指南(二、使用Messenger进行通信)

此篇文章是看完的Android开发艺术的个人总结,摘抄了很多书上的语句,特此说明 IPC学习比较难,我们由浅入深,上一节我们了解了多进程的基础知识,这一节我们尝试进行多进程通信。 武器01:Messenger Messenger可以翻译为信使,通过它可以在不同的进程中传递Message对象,使用比较辩解,他是一种轻量级的IPC方案,底层是用AIDL实现的,他对AIDL进行了封装...

Android IPC终极指南(一、基础知识)

此篇文章是看完的Android开发艺术的个人总结,摘抄了很多书上的语句,特此说明 Android是基于Linux的操作系统,他有自己的进程间通信方式,Android通过Binder可以轻松的实现进程间通信,当然Android也可以通过Socket进行通信。 为什么要进程间通信? 可能应用因为某些原因需要进行进程间通信,例如:某些模块需要运行在独立的进程中,例如某些工具Ap...

Android使用Palette获取图片主色调

Palette简介 Palette是Android中的调色板,我们可以通过传递一个Bitmap来获取一个颜色列表,可以通过类中封装的分析算法来获取其中的 Vibrant(充满活力的) Vibrant dark(充满活力的黑) Vibrant light(充满活力的亮) Muted(柔和的) Muted dark(柔和的黑) Muted lighr(柔和的亮) ...

Android Handler的一点思考

什么是handler handler是Android给我们提供的一种消息接受机制,通过handler可以实现在子线程中更新UI,默认生成的handler是运行在ui线程中的。 什么是Looper和MessageQueue handler中存在一个MessageQueue(消息队列) Looper是一只“手”,每一个线程只能有一个Looper,这只手无限循环MessageQueue从中拿...

Android Widget详解(二)

前言 上一篇博客我们实现了自定义一个Widget的一些操作,但是没有再Widget中实现任何的点击操作和复杂布局,例如Listview的使用等等.本篇博客就来进行实现一些复杂布局 点击事件的处理 Widget是运行在桌面线程中的,所以我们不能用传统的方式来对Widget进行点击操作,需要用到pendingintent来传递点击事件广播,然后在广播中处理点击事件,对其做出响应.并且我们如...

Android Widget详解(一)

前言 实习需要最近在研究Android的Widget,看了很多帖子个人觉得比较零散,特地在此总结一下,写的不好大家见谅哈^_^ 本博客全套源码稍后会提供下载 什么是Widget widget是安卓较苹果特有的桌面小控件,Widget可以让我们在主屏幕上面放置一些有趣的面板,比如天气插件,时间插件,Wifi开关等实用的小控件。 创建一个Widget 首先Widget是Broadcast...

Android简易自定义View(二)

实现上篇的自定义属性 本章详解讲解一下自定义属性 引用官方文档一段话 为了添加一个内置的View到你的UI上,你需要通过XML属性来指定它的样式与行为。良好的自定义views可以通过XML添加和改变样式,为了让你的自定义的view也有如此的行为,你应该: 为你的view在资源标签下定义自设的属性 在你的XML layout中指定属性值 在运行时获取属性值 把...