smallSohoSolo

smallSohoSolo Blog

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中指定属性值 在运行时获取属性值 把...

Android简易自定义View(一)

基础知识 引用官方文档一段话觉得说的挺好 设计良好的类总是相似的。它使用一个好用的接口来封装一个特定的功能,它有效的使用CPU与内存,等等。为了成为一个设计良好的类,自定义的view应该: 遵守Android标准规则。 提供自定义的风格属性值并能够被Android XML Layout所识别。 发出可访问的事件。 能够兼容Android的不同平台。 首先A...