Service

从Android 8.0系统开始,应用的后台功能被大幅削减。现在只有当应用保持在前台可见状态的情况下,Service才能保证稳定运行,一旦应用进入后台之后,Service随时都有可能被系统回收。

在使用Android studio创建service时,会自动在清单文件中进行注册,默认会继承service类。然后重写它的onCreate,onStartCommand,onDestroy和onBind方法

Notification

通知在Android8.0以上需要引入渠道

manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);Intent hangIntent = new Intent(this, MainActivity.class);PendingIntent hangPendingIntent = PendingIntent.getActivity(this, 1001, hangIntent, PendingIntent.FLAG_UPDATE_CURRENT);notification = new NotificationCompat.Builder(this, CHANNEL_ID).setContentTitle("这是一个通知").setContentText("这是一个通知").setSmallIcon(R.mipmap.ic_launcher).setContentIntent(hangPendingIntent).setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.head)).setAutoCancel(true).build();if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {NotificationChannel notificationChannel = new NotificationChannel(CHANNEL_ID,CHANNEL_NAME, NotificationManager.IMPORTANCE_LOW);manager.createNotificationChannel(notificationChannel);}

tablayout的监听器

mTabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {@Overridepublic void onTabSelected(TabLayout.Tab tab) {Log.e("TAG","tab position:"+tab.getPosition());replaceFragment(fragments.get(tab.getPosition()));}@Overridepublic void onTabUnselected(TabLayout.Tab tab) {}@Overridepublic void onTabReselected(TabLayout.Tab tab) {}});}

加载完成后首选项没有触发onTabSelected,在设置监听器后手动调用tabLayout.getTabAt(0).select();后也没有触发。查阅网上的解决方法后,总结为两点。

1、需要先设置监听器再进行addTab操作。2、在第一次加载时,会回调一次onTabReselected,可以在里面写上Ontabselected里的代码,问题解决。

四大组件的ANR

Activity出现ANR是超过5秒

Broadcast出现ANR是超过10秒

Service出现ANR是超过20秒

ContentProvider出现ANR是超过10秒

近段时间的学习碎片整理(4)相关推荐

  1. 近段时间的学习碎片整理(5)

    Android5.0新特性 全新的 Material Design 设计风格 支持多种设备 全新的通知中心设计 支持 64 位 ART虚拟机 Overview 设备识别解锁 RecyclerView ...

  2. 近段时间的学习碎片整理(10)

    1.本地docx文件解析 (1)引入依赖 implementation 'tm-extractors:tm-extractors:0.4' (2)解析文件 private fun readDOCX(p ...

  3. 近段时间的学习碎片整理(7)

    Flexboxlayout 弹性布局(参考RecyclerView FlexboxLayoutManager 自适应宽度布局管理器_蓝色的天空的博客-CSDN博客) FlexboxLayout是去年  ...

  4. 近段时间的学习碎片整理(6)

    1.ripple <?xml version="1.0" encoding="utf-8"?> <ripple xmlns:android=& ...

  5. 近段时间的学习碎片整理(18)

    设置壁纸功能(可参考Android 代码设置壁纸,兼容华为 小米 OPPO Vivo - 简书) 建议先将壁纸下载到缓存文件夹后再调用手机自带的设置壁纸组件来完成,也可以用wallpapermanag ...

  6. 老铁是要塞里最出名的铁匠大师,小铁是老铁的儿子,老铁希望小铁能传承他的衣钵为要塞的骑士们锻造护甲。经近一段时间的学习,小铁逐渐掌握了打铁的技术,但是他很快发现,每一天手臂的力量总是不如前一天

    老铁是要塞里最出名的铁匠大师,小铁是老铁的儿子,老铁希望小铁能传承他的衣钵为要塞的骑士们锻造护甲.经近一段时间的学习,小铁逐渐掌握了打铁的技术,但是他很快发现,每一天手臂 的力量总是不如前一天,粗略估 ...

  7. 近段时间整理出的三款Android游戏源码

    这段时间休息在家的时候,整理出三款Android游戏源码,分享给大家交流学习一下. 1.会说话的汤姆猫Android版** 2.五子连珠游戏Android版**** 3.斗地主游戏Android版 欢 ...

  8. 近段时间学习html和CSS的一些细碎总结

    1.边框圆角属性:border-radius,取值能够是 百分比 / 自己定义长度,不能够取负值.假设是圆,将高度和宽度设置相等,而且将border-radius设置为100% 2.IE6,IE7,I ...

  9. 总结这段时间的学习和生活

    越来越发现自己活的很狭隘,思想也比较狭隘! 现在的生活是8点每天早上起床,在家吃个早饭,然后骑车去公司.这几天发现走路去公司也就十几分钟,那就走路吧,走路的时候自己也听一听音乐或者一些线上的音频文件, ...

最新文章

  1. hung-yi lee_p17_卷积神经网络
  2. 毕业使人头秃:发现自己的idea已经被人发表了,该怎么办?
  3. 关于事件监听机制的总结(Listener和Adapter)
  4. java txtreader_一个简单的Java读写文件例子
  5. proximinty
  6. 改变select元素原来的事件属性,并加快捷键
  7. c# union结构体_P/Invoke各种总结(八、在C#中使用Union联合体)
  8. 标准的的Flash插入
  9. 微信开发(1) -- 将本地开发环境映射到公网访问
  10. 虚拟机安装win10教程
  11. redis集群在mac本地重启
  12. 苏科大的四年里,我都学会了啥?
  13. python读取批量txt文件
  14. 使用shell脚本来监控域名过期时间
  15. Coding and Paper Letter(五十三)
  16. 网站性能优化之CSS无图片技术
  17. QAxObject 读写 excel
  18. C++基础之运算符重载
  19. 小姐姐非要给大家推荐的硬核网站
  20. 手机游戏充值api 各大游戏在线直充

热门文章

  1. 计算机图形学(一):初识图形学(定义一个、发展历程、相关科学与技术)
  2. ISA 个别网页无法打开问题
  3. Makefile文件详解一(gcc命令参数详解)
  4. 各国及牛叉公司组织架构图(Organization Chart)
  5. android 录屏自动运行,Android实现录屏直播+远程控制(二)
  6. 2021年电工(初级)考试题及电工(初级)考试题库
  7. 招募英雄-招募前端开发/Java开发/区块链开发工程师
  8. 虹科分享 | TSN技术如何提高下一代汽车以太网的服务质量?
  9. RSTP 与 STP 的区别
  10. vue 打印功能 调用原生print,带(去掉页眉页脚)分页打印