2014.10.14遇到的问题及总结

今天在写程序的时候遇到一个警告:ActivityManager: Warning: Activity not started, its current task has been brought to the front

没想明白,然后google了一下,才发现这是Android的一种机制(应该叫这个机制这个名称吧)。

有时候我们按下back按钮或是home键,其实有时候没有真正退出程序。Android虚拟机没有结束这个进程,而是以缓存的形式在Android虚拟机中存在,只有在内存不足的情况下,才会回收这部分内存。其实这样做有好处,当我需要快速启动这个程序的时候,速度非常快。

所以出现这种情况是因为我的程序没有发生变化,而且内存足够用,直接将缓存Cached状态放置到任务栈的顶端,这样达到了快速启动的效果。

要消除这个警告,只需要在手机上把这个后台清理了即可。

总结:

今天学的不多,就学习了事务和升级数据库的方法。

一.事务。

事务就是保证让一系列的操作要么全部完成,要么一个都不完成。

1.调用SQLiteDatabase的beginTransaction()方法开启一个事务。

2.当所有的操作都完成之后,调用setTransactionSuccessful()表示事务以及成功执行。

3.调用endTransaction()方法来结束事务。

SQLiteDatabase db = dbHelper.getWritableDatabase();
db.beginTransaction();
try {
	db.delete("Book", null, null);
	ContentValues values = new ContentValues();
	values.put("name", "C++");
	values.put("author", "Sucre");
	values.put("pages", "262");
	values.put("price", 236);
	db.insert("Book", null, values);
	db.setTransactionSuccessful();
} catch (Exception e) {
	e.printStackTrace();
} finally {
	db.endTransaction();
}



二,升级数据库

当指定的数据库的版本号大于当前数据库的版本号时,就会进入onUpgrade()方法中去执行更新操作。










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值