6 tangzhihai0421

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 22w+

Android常见内存泄漏场景

如果在内存泄漏后再去找原因修复比较困难而且会增加开发成本,所以需要在开发的时候就应该考虑内存问题,下面列出一些常见的内存泄漏场景:1.资源性对象为关闭资源性对象(如Cursor、File等)往往都会使用缓冲,她们缓存不只存于java虚拟机内,还存在java虚拟机外,如果只是设置为null,而不关闭她们就会内存泄漏,所以在引用最后先调用她的close()然后再设置为null。2.注册的对...

2019-09-24 10:50:31

android N systemUI的VOLTE图标显示

现在android N之后很多手机都支持VOLTE了,而android手机的VOLTE是独立于其他的网络的,但是对于VOLTE打开关闭对于用户直观的显示是如何操作的呢?也就是在状态栏上的显示如何更新:    在SystemUI上VOLTE图标的显示是通过监听PhoneStateListener的状态来改变的,是在frameworks\base\packages\SystemUI\src\com

2017-06-29 10:05:48

Android N的铃声问题(2)

在上一篇文章中介绍了Android N的铃声保存问题,这一篇文章介绍的为Android N的铃声读取流程,以手机响铃过程作介绍,当手机判断来电时会调用packages\services\Telecomm\src\com\android\server\telecom\Ringer.java的startRinging方法: public void startRinging(Call fore

2017-05-11 16:38:20

Android N的铃声问题(1)

在做Android N的项目时遇到设置SD卡里的音乐为手机铃声后,把SD卡拨出,进入设置铃声里面查看铃声显示为“未知铃声”,而且来电响铃还是设置的SD卡铃声,而不是Android M之前的默认铃声,于是研究了一下Android N的铃声问题。   在手机里面设置铃声时调用的是protected void onSaveRingtone(Uri ringtoneUri) {

2017-05-11 16:04:56

Android N SettingsProvider的数据保存

Android M之前SettingProvider数据储存的位置在手机目录/data/data/com.Android.providers.settings/databases下不过目前的Android版本虽然也有这个目录,其中却没有对应的文件在,本文是看下当前的数据到底存储在哪里。代码在在frameworks/base/packages/SettingsProvider

2017-05-11 16:00:57

L版本如何在来电时直接显示全屏界面

HeadsUp 是 google 在 L 版本上面 PhoneStatusBar 中新增的功能.而在未锁屏时来电就是通过这种方式来显示的. 从而替代了全屏显示来电界面的方式.如果客户还是倾向于全屏显示来电界面. 则可以通过如下方式来单独关闭通话的 HeadsUp 功能(关键字"turn off HeadsUp for dialer")File: framewor

2016-12-08 16:16:02

Android系统LOG分析

上层log我们主要关注events_log,main_log,radio_log和sys_log。这几个log的类型在alps/framework/base/core/java/android/util/Log.java中定义:    /** @hide */ public static final int LOG_ID_MAIN = 0;    /** @hide */ public s

2016-12-08 16:12:52

后台播放音乐时,设置手机铃声,后台音乐不会暂停

手机后台播放音乐时,设置手机铃声,后台音乐不会暂停,此现象的为设置手机铃声界面,并没要加入播放的foucs机制,此修改在packages\providers\MediaProvider\src\com\android\providers\media\RingtonePickerActivity.java中import android.media.AudioManager;imp

2016-12-07 11:27:13

默认连接电脑的模式为MTP

Android L后默认的usb连接模式为“仅充电”,而且不会随用户每次的选择而记住,假如需要修改默认的usb连接模式并且需要记住用户的选择,需要修改以下一些代码:1.需要把mk文件中的persist.sys.usb.config=mtp这样默认的连接模式就为MTP,但是修改此处后usb电脑手机重启后会在PC端显示两个手机储存】、2.此时需要修改packages/pro

2016-12-06 15:15:00

Android 7.0编译的遇到的一些问题

Android7.0(也就是Android N)上默认使用JACK编译器而不再使用openjdk了,但发现JACK不是很好用,比如最大的一个问题就是,同一台linux服务器上不允许不同用户同时进行andorid7.0的编译,原因就是后面开始编译的用户无法正常启动jack server,而jack server居然不能关闭,虽然JACK文档中有说提供一些宏,只要设置宏为对应的值就可以关闭,但实测发现

2016-12-06 15:11:45

在导航栏中添加音量加减button

一些Android音量调节button。或者从保护实体按键的角度考虑,就须要在导航栏的虚拟按键中加入音量加减调节按键。效果例如以下图所看到的:实现步骤例如以下:1.首先在SystemUI中加入音量加减的资源文件。路径例如以下:frameworks/base/packages/SystemUI/res/将图片放入相应的drawable目录,

2016-08-26 17:17:49

Android framework的一些经验

1.怎样自定义intent选择界面的标题在intent选择界面,系统会列出所有符合intent筛选条件的Activity,intent选择界面的标题默认统一显示" Complete action using",如果想要使用自己定义的标题,可以使用Intent.createChooser()的方法来创建intent,并传入想要的String作为标题。以wallpaper选择框为例,当在Launc

2016-08-23 18:57:48

android 源码截图分析

Android手机同时按住Volume Down键+power键,就会进行截屏,跟Android L源码得知此操作的处理是在frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.java中处理的,当用户按住Volume Down键或者power键都好去调用interceptScreenshot

2016-08-23 17:45:37

MTK平台apn&spn的配置

APN的类型分为web(internet),wap,mms三种类型,用于手机中上网时数据交换的接入点名称配置与显示。APN配置的时候,出现的type的值主要有:default,mms,supl,dun。Default常用于一般的数据业务,主要有internet,wap,web;mms类型用于彩信接收发送的业务;supl用于gprs上网;dun用于wifi等上网类型。配置时注意事项:

2016-08-03 17:47:00
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。