Material Design 风格的设置页面

设置页面是 Android 开发 APP 几乎必须的一个页面。

Google 在发布 Material Design 的一些兼容包的时候,一直没有解决的一个大问题就是设置页面。让device-2015-02-20-132630人很蛋疼的是,如果你继承 PreferenceActivity 来做设置页面的话,会导致你的这个页面 ActionBar 丢失,完全显示不出来,丑,而且官方貌似一直没有解决,真不知怎么想的。所以一般我们的解决办法就是使用 Activity + Fragment 来保留 ActionBar 又能使用简易的 PreferenceFragment。

阅读全文

Android中Handler引起的内存泄露

在Android常用编程中,Handler在进行异步操作并处理返回结果时经常被使用。通常我们的代码会这样实现。

1
2
3
4
5
6
7
8
9
public class SampleActivity extends Activity {
private final Handler mLeakyHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// ...
}
}
}

但是,其实上面的代码可能导致内存泄露,当你使用Android lint工具的话,会得到这样的警告

In Android, Handler classes should be static or leaks might occur, Messages enqueued on the application thread’s MessageQueue also retain their target Handler. If the Handler is an inner class, its outer class will be retained as well. To avoid leaking the outer class, declare the Handler as a static nested class with a WeakReference to its outer class

看到这里,可能还是有一些搞不清楚,代码中哪里可能导致内存泄露,又是如何导致内存泄露的呢?那我们就慢慢分析一下。

阅读全文

最流行的android组件大全

最后更新
2016-02-16 最近几个月忙于写书,终于将新年的第一次整理完成。新加的项目在文章最后。
2015-11-24 增加 更多的开源项目。实现项目图片延时加载,提高页面显示速度。
2015-10-26 增加 更多的开源项目。
2015-09-15 增加 更多的开源项目。
2015-08-21 增加 awssome android XXXXX,在文章的前面。
2015-08-12 增加 很大一堆开源UI库等,在文章最后。
2015-06-05 增加 FlyRefresh......等一堆新的项目。以后新增加的项目放在文章最后
2015-04-20 增加 CircleProgress, MultiImageSelector, ArcLayout, richeditor-android

Android 是目前最流行的移动操作系统之一。 随着新版本的不断发布, Android的功能也日益强大, 涌现了很多流行的应用程序, 也催生了一大批的优秀的组件。
本文试图将目前流行的组件收集起来以供参考, 如果你发现本文还没有列出的组件,欢迎在评论中贴出来,我会定期的更新本文。

部分图片需要翻墙才能显示

以下是我收集和精选的Android开源项目。

阅读全文