技术小黑屋

技术小黑屋 (converted from Atom 1.0)

2023-02-07 08:27    2023-02-08 08:27

聊一聊Android 6.0的运行时权限

Android 6.0,代号棉花糖,自发布伊始,其主要的特征运行时权限就很受关注。因为这一特征不仅改善了用户对于应用的使用体验,还使得应用开发者在实践开发中需要做出改变。没有深入了解运行时权限的开发者通常会有很多疑问,比如什么是运行时权限,哪些是运行时的权限,我的应用是不是会在6.0系统上各种崩溃呢,如何才能支持运行时权限机制呢。本文讲尝试回答这一些问题,希望读者阅读完成之后,都能找到较为完美的答案。权限一刀切在6.0以前的系统,都是权限一刀切的处理方式,只要用户安装,Manifest申请的权限都会被赋予,并且安装后权限也撤销不了。

修复Android中Navigation Bar遮挡PopupWindow的问题

最近遇到了一个问题,关于Navigation Bar遮挡PopupWindow的问题,问题不难,粗略做一点总结。现象描述问题应该出现在5.0 Lollipop版本及以上遮挡的现象如下图,Navigation Bar位于了PopupWindow的上层,明显是一种问题。我的实现代码12345678private void showPopupWindow() { if (mPopupWindow == null) { View contentView = LayoutInflater.from(this).inflate(R.layout.popup_window_content,

技术小黑屋的2015年

2015年还差几天就要走了,2016年即将来到。每每辞旧迎新,必会睹物生情,有所思考。本文记录这一年的小小经历,以及近期的一些想法与感悟。小事记个人4月,受Infoq邀请参加线下沙龙专题讨论,第一次被邀请参加线下活动,从此算是与Infoq有了不解之缘。5月,成为了Infoq的译者,开始尝试翻译Java 和 Android的技术文章,我的英语终于可以如此直接“变现”。9月,帝都Android小伙伴线下面基,认识了秋百万,扔物线,Android笔记,胡凯等优秀的开发者。

关于Android中工作者线程的思考

版权说明本文为 InfoQ 中文站特供稿件,首发地址为:http://www.infoq.com/cn/articles/android-worker-thread 如需转载,请与 InfoQ 中文站联系。摘要在Android开发过程中,我们经常使用工作者线程,如AsyncTask和线程池。然而我们经常使用的这些工作者线程存在哪些不易察觉的问题呢,关于工作者线程有哪些优化呢,文本将逐一介绍并回答这些问题。本文系2015 北京 GDG Devfest分享内容文章。

Android 中 SQLite 性能优化

数据库是应用开发中常用的技术,在Android应用中也不例外。Android默认使用了SQLite数据库,在应用程序开发中,我们使用最多的无外乎增删改查。

Android处理崩溃的一些实践

对于任何程序来说,崩溃都是一件很难避免的事情,当然Android程序也不例外。在Android程序中,引起崩溃的多属于运行时异常或者错误,对于这些异常我们很难做到类似Checked Exception那样显式捕获,因而最终导致了程序崩溃。

深入探索Java 8 Lambda表达式

版权说明本文为 InfoQ 中文站特供稿件,首发地址为:http://www.infoq.com/cn/articles/Java-8-Lambdas-A-Peek-Under-the-Hood。如需转载,请与 InfoQ 中文站联系。正文2014年3月,Java 8发布,Lambda表达式作为一项重要的特性随之而来。

程序员的逗比瞬间 最终番

小黑屋里怎么能没有欢乐,苦逼的码农们,我要拯救不开心。听到市场同事说要亲自解决一个技术问题演示之前,我的程序每隔半个小时崩溃一次终于,我的脚本跑起来了项目经理认为我可以一个人搞定这个项目,结果。。。

详解 Android 中的 HandlerThread

HandlerThread是Android API提供的一个便捷的类,使用它我们可以快速的创建一个带有Looper的线程,有了Looper这个线程,我们又可以生成Handler,那么HandlerThread是什么,可以做什么呢,有哪些奇技淫巧可以被我们利用呢?

关于Android Log的一些思考

在日常的Android开发中,日志打印是一项必不可少的操作,我们通过分析打印的日志可以分析程序的运行数据和情况。然而使用日志打印的正确姿势又是怎样呢,如何屏蔽日志信息输出呢,本文将逐一进行回答。哪些形式System.out.

优秀的英文技术博客

技术是没有国界的,想要学习先进的技术就不能仅仅局限于中文博客。本着独乐乐不如众的原则,这里分享几个本人一直订阅的英文博客。主要涉及的技术为Java或Android。阅读之前请科学上网访问这些博客!

程序员的逗比瞬间(第三季)

小黑屋里怎么能没有欢乐,苦逼的码农们,我要拯救不开心。

今日值得读,悄悄上线了

国庆长假接近尾声的时候用了将近一天多的时间实现了一个小功能,就是这篇文章的主角—-今日值得读,简单来说,这个功能用讲我个人阅读过的好的文章公开出来,一是记录目的,二则希望可以传递一些有价值的信息。

Android性能调优利器StrictMode

作为Android开发,日常的开发工作中或多或少要接触到性能问题,比如我的Android程序运行缓慢卡顿,并且常常出现ANR对话框等等问题。既然有性能问题,就需要进行性能优化。正所谓工欲善其事,必先利其器。

Android进程线程调度之cgroups

做Android开发的同学们,了解cgroups的同学其实不多,cgroups是什么意思呢,在操作系统中有着什么样的作用,以及Android中的cgroups有哪些,各有什么用呢,本文将会进行逐一剖析。

你的Java代码对JIT编译友好么?

版权说明本文为 InfoQ 中文站特供稿件,首发地址为:你的Java代码对JIT编译友好么?。如需转载,请与 InfoQ 中文站联系。摘要在JVM中,即时编译器(以下简称JIT)是很重要的一部分,可以帮助应用大幅度提升执行效率。

剖析Android中进程与线程调度之nice

在计算机操作系统中,进程是进行资源分配和调度的基本单位,同时每个进程之内也可以存在多个线程。

程序员的逗比瞬间(第二季)

小黑屋里怎么能没有欢乐,苦逼的码农们,我要拯救不开心。

Java永久代去哪儿了

版权说明本文为 InfoQ 中文站特供稿件,首发地址为:Java永久代去哪儿了。如需转载,请与 InfoQ 中文站联系。摘要在JDK8之前,类的元数据和常量都存放在一个与堆内存相邻的数据区,即永久代。

深入讲解Android中Activity launchMode

Android系统中的Activity可以说一件很赞的设计,它在内存管理上良好的设计,使得多任务管理在Android系统中运行游刃有余。

程序员的逗比瞬间(第一季)

小黑屋里怎么能没有欢乐,苦逼的码农们,我要拯救不开心。这是程序员的逗比瞬间系列的第一季,文章参考自Life of a programmer in pictures第一次在网页中应用CSS,WTF!兴致勃勃向别人展示修复了一个bug,结果。。。

探究android:largeHeap

在日常的Android开发中,我们必然遇到过OutOfMemoryError这样的崩溃,产生的原因无外乎两点,一是内存过小不够用,二是程序设计有误,导致不能释放内存,其中后者情况较多。在解决这个问题时,我们亦或多或少听到android:

使用Android lint发现并解决高版本API问题

在编写代码时,为了实现一些功能,我们需要使用高版本的API,比如SharedPreference的Editor中的apply方法为API 9开始引入,在API 9 以上的机器使用没有问题,但是在API 8上,如果运行时执行了这段代码,就会崩溃,问题相当严重。

说说Android中的ANR

有过Android开发经历的人都不会对ANR陌生,它和崩溃一样是程序设计的问题。本文将以较为深入的视角来介绍什么是ANR,出现场景,如何避免以及如何定位分析ANR,希望可以帮助大家在编写程序时有所帮助。

在Mac上为其他设备开启代理

前些日子,想要查看一个Release版本的HTTP请求,由于已经是发布版本,日志已然关闭,遂开始从HTTP代理的思路着手。本文是偏于操作的总结,行文目的是快速解决诸如上面的问题,不是为了深入了解squidman。

为什么高端人才会使用拍卖选工作

本文为100offer合作文章,由100offer为本网站提供专业的职场相关的文章,感兴趣的或者有跳槽的童鞋们不防读一读。

程序员必读的六本书

作为一名程序员,日常的工作除了上班撸代码就是加班撸代码了。撸码其实不难,无非询问Google,StackOverflow,解决方法和demo一箩筐,可是撸的一手好代码着实不易。无独有偶,码农一抓一大把,优秀的程序员却不易寻觅。

这就是观察者模式

观察者模式是软件设计模式中的一种,使用也比较普遍,尤其是在GUI编程中。

Google Play Services 7.5新增API及多项特性

版权说明本文为 InfoQ 中文站特供稿件,首发地址为:文章链接。如需转载,请与 InfoQ 中文站联系。摘要最近的Google I/O开发者大会上,Google宣布推出7.

说说依赖注入

在面向对象编程中,我们经常处理处理的问题就是解耦,程序的耦合性越低表明这个程序的可读性以及可维护性越高。控制反转(Inversion of Control或IoC)就是常用的面向对象编程的设计原则,使用这个原则我们可以降低耦合性。

垃圾回收器如何处理循环引用

垃圾回收是一门编程语言中必不可少的一部分,不论是手动释放内存的C和C++,还是自动回收垃圾的Java和C#等语言。

Android中HTTP相关的API

Android中大多数应用都会发送和接受HTTP请求,在Android API中主要由两个HTTP请求的相关类,一个是HttpURLConnection,另一个是Apache HTTP Client。

Gmail托管邮箱发邮件认证失败

Gmail是一款很优秀的邮件工具,我一直使用Gmail来托管公司的邮箱,利用最棒的过滤器进行过滤垃圾邮件。前段时间公司邮箱密码更换,使用了新的密码后导致了只能收邮件不能发邮件,每次发邮件都会提示这样的错误。

JAR包未加入APK程序

前段时间打包遇到了一个问题,jar包不能加入到apk包中。从Eclipse中完全可以,一旦放到服务器端进行打包就出现了问题。使用ant debug -d得到的信息如下12345678910111213141516171819[dx] trouble processing:

Google Play商店推广那些事

Play商店是Android的官方商店,虽然在大陆无法访问,但是这里依旧是重要的版本发布市场,尤其是对于那些国际化的产品。对于拓宽海外市场,付费推广就是一部分不可忽视的措施。而Android付费推广必然就是Play商店推广。

关闭Mac屏幕右上角QQ通知

前段时间看到QQ提示更新,于是手贱了一次升级到了QQ for Mac V4.0.1,最不爽的一件事在屏幕的右上角多出来了一个横幅,内容就是别人发给你的消息的内容。如下图这是多么脑残的产品想出来的啊,多么地泄露隐私啊。

© 云聚网互联网资讯 我要投稿 云聚网博客 深度学习社区 Pytorch中文百科 Pytorch中文手册