Android 中的内存泄漏

JVM垃圾回收机制 会对没有引用的对象进行回收,而持有引用的对象是不能被回收的。

匿名内部类包含如下特征
1. new 操作符
2. 实现一个接口,或者继承自一个类
3. 有构造函数的调用,接口因为没有构造函数,默认是无参构造函数。
4. 拥有body,就像类定义一样,body内可以声明方法,但是 不能拓展构造函数。

匿名内部内可以直接访问本地类的成员变量。可访问 方法内通过final 修饰的本地变量。
因此常见的泄漏就是匿名内部类存在对act的引用。

    private Object obj=new Object(){
        @Override
        public String toString() {
            return super.toString()+"bbb";
        }
    };

继续阅读“Android 中的内存泄漏”

SQL 语句查询你爸爸的爸爸是谁?

最近遇到一个问题,有一张表是这样的数据结构,存着你家家谱,所以是自关联的表。加入你要查询你爸爸的爸爸那条记录,改怎么查询? 或者需要看祖宗十八代如何展示?

递归是一个很好的解决方法。递归代码如下

WITH RECURSIVE 
qry AS (SELECT * FROM Family WHERE nickname ='You'  UNION ALL SELECT bb.* FROM Family bb INNER JOIN qry on bb.id == qry.parent)
SELECT * FROM qry LIMIT 3, 1;

其中offset 3 是要查询的代数 1 就是你父亲,2 就是你爷爷。。。。

输出:

id  nickname parent
0   YYDBB     0

家常菜谱 番茄土豆

原料:
1. 大蒜头,拍开,切碎,细葱
2. 土豆一个,番茄一个。
3. 土豆切条,放冷水中浸泡,番茄用开水烫一下,去皮切碎
4. 锅子热油,大蒜头,细葱白下锅爆香。
5. 下土豆条,炒一会,放入锅中,一起翻炒。加入适量水
6. 放入白糖,盐,酱油,水快干的时候加点水,一直炒。
7. 出锅。