- 博客(12)
- 资源 (5)
- 收藏
- 关注
原创 稀疏矩阵
在矩阵中,如果很多元素都是零,这种矩阵称为稀疏矩阵,在对稀疏矩阵存储中,常常不存储零元素来节省空间的,矩阵常用操作有转置,加法,乘法等操作,其中转置和乘法最常用。 假设有a和b两个矩阵,其中b是a的转置矩阵,a和b矩阵表示如图: 矩阵结构体typedef struct { //矩阵对应的列值 int col; //矩阵对应的行值 int row; //矩阵行和列
2015-07-25 18:22:12 1419 1
翻译 Triumph! Android Studio 1.2 Sneaks In Full Testing Support(译文)
文章英文版来源:https://www.bignerdranch.com/blog/triumph-android-studio-1-2-sneaks-in-full-testing-support/ 我正在要求其支持,我们有时要监控安卓测试中的状态,一直在等待测试能充分合并安卓开发阶段中,很棒地是,这一天终于到来了。 我曾在一月写过一篇 setting up unit testing in A
2015-07-23 13:18:31 913
翻译 Improving Your Code With Android Support Annotations(译文)
英文版文章来源:http://www.michaelevans.org/blog/2015/07/14/improving-your-code-with-android-support-annotations/?utm_source=Android+Weekly&utm_campaign=7e9fa187cb-Android_Weekly_162&utm_medium=email&utm_term=
2015-07-22 00:16:19 493
原创 优先级高优先
在运行多任务时,有多种选择策略,其中一种是优先级高优先,java可以通过PriorityBlockingQueue来实现。 代码例子://优先运行任务 class PrioritizedTask implements Runnable, Comparable<PrioritizedTask> { private Random rand = new Random(47); private
2015-07-17 02:04:52 1193
原创 最早延迟时间优先运行的实现
在运行多任务时,有多种策略,其中一种就是根据最早延迟时间优先运行期任务,接下来利用Delayed接口和DelayQueue同步队列可以实现其功能。 代码例子://根据延迟时间来优先运行任务 class DelayedTask implements Runnable, Delayed { private static int counter = 0; private fina
2015-07-17 01:33:21 490
原创 缓存图片
安卓社交软件中,浏览信息时,经常要显示图片之类的信息,如果图片不缓存的话,会让给用户体验带来糟糕的感觉。 缓存图片的好处有以下两点: 减少用户的流量的消耗 缩短显示图片信息的时间,带来更好的用户体验 不过缓存图片需要一定存储开销,本人参考了前辈写的开源库https://github.com/nostra13/Android-Universal-Image-Loader的部分源码以及这篇前辈博客,
2015-07-17 00:04:32 825
原创 同步队列协作线程
java提供一系列的同步队列来协作线程通信,简化程序编写,并且在类与类之间也解耦了。 代码例子://吐司类 class Toast { public enum Status { DRY, BUTTERED, JAMMED } private Status status = Status.DRY; private final int id; publi
2015-07-16 01:28:09 485
原创 深入线程(二)
错失的信号1.当两个线程使用notify()/wait()或notifyAll()/wait()进行协作时,有可能会错过某个信号。下面举个例子: 缺陷方式:T1: synchronized(sharedMonitor) { sharedMonitor.notify(); } T2: while(someCondition) { //Point1 synchroni
2015-07-16 00:58:04 632
原创 线程之间的协作
在Java中,线程协作通常通过wait()和notify(),notifyAll()三种方法来协作,调用wait()时会释放锁,而sleep并不会释放锁,故在线程协作之间,通常是用wait()让该线程挂起,而用notify()或notifyAll()来唤醒其中一个等待的线程,但如果编写程序上逻辑不严谨,可能会造成死锁,以下是一种安全可靠的线程协作例子。 代码例子:class Car {
2015-07-15 23:44:12 756
翻译 Unit testing support(译文)
文章英文版来源:http://tools.android.com/tech-docs/unit-testing-support它如何工作单元测试在你开发机上的当地JVM上运行,我们的gradle ce 插件将会编译在src/test/java目录里的源码并用Gradle测试机制执行它,在运行时期,测试会针对你无最终修正版的android.jar的一个版本来执行,这可以让你使用流行的mocking 库
2015-07-15 00:09:51 639
翻译 Coloring Android Apps with Palette(译文)
文章英文版来源: http://code.tutsplus.com/tutorials/coloring-android-apps-with-palette–cms-24096 译文: **材料设计实用特色之一就是可以用颜色去美化和强调 屏幕的内容,使用Palette类,开发者能使用其APP应用图片的颜色去自定义用户界面元素。** 在这篇文章中,你会学会怎么从图片创建一个Palette类,
2015-07-13 11:22:31 622
原创 深入线程(一)
基本线程机制1.常用Executor的三种区别: CachedTreadPool会在执行过程中通常创建与所需数量相同的线程,然后又在一定时间内回收线程。 FixedThreadPool一次性按预先执行代价高昂的线程分配,当超过其线程最大的数量时,会按照其提交的顺序排队。 SingleThreadExecutor就是单个可重用的线程,其执行顺序为提交的顺序。 代码例子: public class L
2015-07-07 23:34:59 854
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人