摘要:获取当前界面的名称关于在工程中创建文件,编译后,会生成一个文件,这个文件里生成抽象类继承实现中声明的方法。
获取当前界面的Activity名称
adb logcat | grep ActivityManager
关于aidl在Android工程中, 创建xxxx.aidl文件,编译后,会生成一个xxxx.java文件,这个文件里生成Stub抽象类继承android.os.Binder、实现aidl中声明的方法。然后工程里创建一个service类
Android Activity生命周期进入到一个Activity onCreate -> onStart -> onResume App进入后台 onPause -> onStop 关闭Activity onPause -> onStop -> onDestroy App页面跳转 onPause -> onStop 重回Activity onRestart -> onStart -> onResume 总结就是: 界面出现 -> onStart, 界面消失 -> onStop 界面创建 -> onCreate, 界面摧毁 -> onDestroyAndroid App启动时类的加载顺序
在工程的AndroidManifest.xml的application中定义android:name属性,到具体的类,App启动时就首先加载这个类。然后再加载在AndroidManifest.xml中定义为android.intent.category.LAUNCHER的类
BroadcastReceiver 注册有两种方式需要过滤的filtAction写在AndroidManifest.xml里
比如:
MyBroadcastReceiver myReceiver = new MyBroadcastReceiver(); IntentFilter fileter = new IntentFilter(); fileter.addAction("com.app.broadcast"); MainActivity.this.registerReceiver(myReceiver, fileter);
Intent intent = new Intent(""); this.sendBroadcast(intent);截图
adb shell screencap -p | perl -pe "s/x0Dx0A/x0A/g" > screen.png关于Handler
应用启动时,Android FrameWork创建一个Looper对象,处理MessageQueue里的Message
创建一个Hander后,MessageQueue对象会持有这个Handler的引用
Looper处理Handler时,就触发Handler的handleMessage(Message)方法
内部匿名类和内部非静态类会有一个对外部类的隐式引用
如果Handler长时间不执行,当前类的内存不会被释放
public class SampleActivity extends Activity { /** * Instances of static inner classes do not hold an implicit * reference to their outer class. */ private static class MyHandler extends Handler { private final WeakReferencemActivity; public MyHandler(SampleActivity activity) { mActivity = new WeakReference (activity); } @Override public void handleMessage(Message msg) { SampleActivity activity = mActivity.get(); if (activity != null) { // ... } } } private final MyHandler mHandler = new MyHandler(this); /** * Instances of anonymous classes do not hold an implicit * reference to their outer class when they are "static". */ private static final Runnable sRunnable = new Runnable() { @Override public void run() { /* ... */ } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Post a message and delay its execution for 10 minutes. mHandler.postDelayed(sRunnable, 1000 * 60 * 10); // Go back to the previous Activity. finish(); } }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/12485.html
摘要:在此感谢的以及其它开源项目的贡献。具体可见包网络层使用进行网络请求,封装公共的创建拦截器等工厂模式创建不同的网络对象。 Reading https://github.com/Hankkin/Reading 简介 很久不见,重新拾起博客吧,今天分享一个开源APP-Reading,项目的初衷是因为自己平时翻文章,但是公众号又经常忘记看,自己索性搞一个APP吧,顺便练一下Kotlin。借助着...
摘要:以后你就能再次用这个备份来将手机恢复到这个状态。这个词语来自的用户,享有最高权限。通常不要去手机,如果操作不当,对手机系统造成损坏,可能会开不了机等。而一般是用来初始安装的首选途径。此外模式下还能解锁。 持续学习,持续更新...... AOSP AOSP stands for Android Open Source Project. Stock Stock Android is wh...
摘要:还有就是项目发布后项目中一些数据安全,等方面,都值得我们考虑,思索。官方文档安全说明及其以上系统提供了为应用程序数据的备份和恢复功能,此功能的开关决定于该应用程序中文件中的属性值,其属性值默认是。解决方案自己进行数据加密。 在个人和公司开发的项目发布后,作为软件工程师最担心的就是代码安全(虽说现今而言,技术已没有什么秘密,聪明人很多,你的功能可能别人稍加研究就能不看代码也能实现(黑科技...
摘要:还有就是项目发布后项目中一些数据安全,等方面,都值得我们考虑,思索。官方文档安全说明及其以上系统提供了为应用程序数据的备份和恢复功能,此功能的开关决定于该应用程序中文件中的属性值,其属性值默认是。解决方案自己进行数据加密。 在个人和公司开发的项目发布后,作为软件工程师最担心的就是代码安全(虽说现今而言,技术已没有什么秘密,聪明人很多,你的功能可能别人稍加研究就能不看代码也能实现(黑科技...
摘要:的事件分发的事件基础分析的事件分析例子说明我们给一个设置浅析事件传递掘金中的事件传递主要涉及三个方法和。 快来看看 Google 出品的 Protocol Buffer,别只会用 Json 和 XML 了 - Android - 掘金前言 习惯用 Json、XML 数据存储格式的你们,相信大多都没听过Protocol Buffer Protocol Buffer 其实 是 Google...
阅读 1788·2021-11-15 11:39
阅读 3048·2021-10-09 09:41
阅读 1375·2019-08-30 14:20
阅读 3073·2019-08-30 13:53
阅读 3203·2019-08-29 16:32
阅读 3168·2019-08-29 11:20
阅读 2885·2019-08-26 13:53
阅读 660·2019-08-26 12:18