摘要:主要思想是这样的:将倒计时CountDownTimer放在Service里面进行,每过一秒就一条发广播,在主Activity里注册广播,收到广播后更新UI。 一、写一个类CodeTimerService继承自Service,重写onStartCommand(...)方法。 先了解一下CountDow
阅读全文
摘要:需要注意的是, onSaveInstanceState()方法并不是一定会被调用的, 因为有些场景是不需要保存状态数据的. 比如用户按下BACK键退出activity时, 用户显然想要关闭这个activity, 此时是没有必要保存数据以供下次恢复的, 也就是onSaveInstanceState()
阅读全文
摘要:最简单的Activity中的内容大致是这样的: setContentView 一般来说我们设置页面的内容视图是都是通过setContentView方法,那么我们就以2.3源码为例就来看看Activity中的setContentView到底做了什么吧。 我们可以看到,实际上调用的mWindow的set
阅读全文
摘要:1、开启一个像素的Activity 据说这个是手Q的进程保活方案,基本思想,系统一般是不会杀死前台进程的。所以要使得进程常驻,我们只需要在锁屏的时候在本进程开启一个Activity,为了欺骗用户,让这个Activity的大小是1像素,并且透明无切换动画,在开屏幕的时候,把这个Activity关闭掉,
阅读全文
摘要:1.前台进程(Foreground process) 场景: 某个进程持有一个正在与用户交互的Activity并且该Activity正处于resume的状态。 某个进程持有一个Service,并且该Service与用户正在交互的Activity绑定。 某个进程持有一个Service,并且该Servi
阅读全文
摘要:1.Android 进程回收策略 众所周知,Android是基于Linux系统的。在Android进程回收策略中,Android进程与Linux进程根据OOM_ADJ阈值进行区分: OOM_ADJ >= 4:比较容易被杀死的进程 OOM_ADJ 0 ~ 3:不容易被杀死的进程 OOM_ADJ < 0
阅读全文
摘要:1.A页面跳转到B页面,点击返回,这个过程中的生命周期 B页面完全覆盖A页面的情况 A跳转B页面的生命周期方法执行顺序: onPause(A)->onCreate(B) >onStart(B) >onResume(B) >onStop(A) B页面点击后返回生命周期执行顺序: onPause(B)-
阅读全文
摘要:Android系统在运行每一个程序应用的时候,都会创建一个Application对象,用于存储与整个应用相关的公共变量。一个Android应用只会生成一个Application对象,在不同的Activity中获取的Application对象是一样的,所以Application对象是一个单例(Sing
阅读全文
摘要:效果图如下: 1.activity_main.xml menu_shop_car_selected.png corner_view.xml 2.adapter_shopping_cart_item.xml 3.MainActivity 4.GoodsAdapter 5.GoodsModel http
阅读全文
摘要:按字面了解,Window Leaked大概就是说一个窗体泄漏了,也就是我们常说的内存泄漏,为什么窗体会泄漏呢?产生原因: 我们知道Android的每一个Activity都有个WindowManager窗体管理器,同样,构建在某个Activity之上的对话框、PopupWindow也有相应的Windo
阅读全文
摘要:1 方法:public boolean moveTaskToBack(boolean nonRoot) activity里有这个方法,参数说明如下: nonRoot=false→ 仅当activity为task根(即首个activity例如启动activity之类的)时才生效 nonRoot=tru
阅读全文
摘要:先看Application Fundamentals上的一段话: Android calls onSaveInstanceState() before the activity becomes vulnerable to being destroyed by the system, but does
阅读全文
摘要:一.对android:configChanges属性,一般认为有以下几点:1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次2、设置Activity的android:configChanges="orienta
阅读全文
摘要:基本上每一个应用程序都会有一个自己的Application,并让它继承自系统的Application类,然后在自己的Application类中去封装一些通用的操作。其实这并不是Google所推荐的一种做法,因为这样我们只是把Application当成了一个通用工具类来使用的,而实际上使用一个简单的单
阅读全文
摘要:在Android系统中,BroadcastReceiver的设计初衷就是从全局考虑的,可以方便应用程序和系统、应用程序之间、应用程序内的通信,所以对单个应用程序而言BroadcastReceiver是存在安全性问题的,相应问题及解决如下: 1、当应用程序发送某个广播时系统会将发送的Intent与系统
阅读全文
摘要:一、Context是什么: 1、Context是维持Android程序中各组件能够正常工作的一个核心功能类,我们选中Context类 ,按下快捷键F4,右边就会出现一个Context类的继承结构图啦,如下图所示: 看下我用红线标出来的地方,从这里可以看到Activity、Service、Applic
阅读全文
摘要:前言 在你的App中的很多地方都需要使用到数据信息,它可能是一个session token,一次费时计算的结果等等,通常为了避免Activity之间传递数据的开销,会将这些数据通过持久化来存储。 有人建议将这些数据放在Application对象中方便所有的Activity访问,这个解决方案简单、优雅
阅读全文
摘要:存在的问题 1. 默认情况下,ViewPager会根据setOffscreenPageLimit()方法设置的大小,自动预加载2. 还是根据setOffscreenPageLimit()方法设置的大小,会去销毁fragment视图 下面的图说明情况 滑动fragment1,此时会预加载fragmen
阅读全文
摘要:1.Service 前台服务与Notification 我们在用很多应用的时候,发现他们启动的时候,会在通知栏生成一个和该App的通知,来继续执行Service,比如墨迹天气,很多音乐App.这种叫前台服务,其实这种Service有一个很好的一点,就是不会因为Service自身的优先级低,而被系统K
阅读全文
摘要:在ActivityA中,startActivityForResult到ActivityB,其中ActivityB设置为SingleTask。 那么在实际出现的现象为: ActivityA的onActivityResult将会首先被回调,然后再执行ActivityB的onCreate函数,也就说无论A
阅读全文