logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Android中使用Handler造成内存泄露的分析和解决

(一)什么是内存泄露?Java使用有向图机制,通过GC自动检查内存中的对象(什么时候检查由虚拟机决定),如果GC发现一个或一组对象为不可到达状态,则将该对象从内存中回收。也就是说,一个对象不被任何引用所指向,则该对象会在被GC发现的时候被回收;另外,如果一组对象中只包含互相的引用,而没有来自它们外部的引用(例如有两个对象A和B互相持有引用,但没有任何外部对象持有指向A或B的引用),这仍然属于不

android 安装目录介绍

一、安装路径在哪?Android应用安装涉及到如下几个目录:system/app系统自带的应用程序,无法删除。data/app用户程序安装的目录,有删除权限。安装时把apk文件复制到此目录。data/data存放应用程序的数据。data/dalvik-cache将apk中的dex文件安装到dalvik-cache目录下(dex文件是dalvik虚拟机的可执行文件,其大小约为

Java中的四种引用

Java中存在四种引用,它们分别是:1.强引用(StrongReference) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。2.软引用(SoftReference)如果一个对象只具

#java
Android源码解析之(八)-->Zygote进程启动流程

大家都知道android系统的Zygote进程是所有的android进程的父进程,包括SystemServer和各种应用进程都是通过Zygote进程fork出来的。Zygote(孵化)进程相当于是android系统的根进程,后面所有的进程都是通过这个进程fork出来的,而Zygote进程则是通过linux系统的init进程启动的,也就是说,android系统中各种进程的启动方式init进程–>

Github项目解析(十四)-->快速实现自定义地图聚合操作

本文我将讲解一下我最近实现的高德地图Marker的聚合功能。在项目开发中需要使用到地图Marker的聚合功能,但是高德地图并没有实现对Marker的聚合功能,所以需要自己实现其聚合功能...

Android tips(十)-->允许模拟位置在Android M下的坑

本文我们将讲解允许模拟位置在Android M下的坑。做地图类应用的同学应该都知道为了避免软件模拟位置影响正常流程的进行我们一般都会判断用户手机是否打开了模拟位置设置,若打开了则终止用户流程,提醒用户关闭模拟位置设置。在android系统的开发者选项中有一个模拟位置的选项,其作用是允许用户通过代码模拟设备的当前位置...

Android产品研发(十三)-->App轮询操作

本文将讲解app端的轮训请求服务,一般而言我们经常将轮训操作用于请求服务器。比如某一个页面我们有定时任务需要时时的从服务器获取更新信息并显示,比如当长连接断掉之后我们可能需要启动轮训请求作为长连接的补充等,所以这时候就用到了轮训服务

Android studio统计代码行数插件-->statistic

最近想查看android studio项目的代码行数,查看了半天发现了一个比较不错的android studio插件:statistic;   官方网址:https://plugins.jetbrains.com/plugin/4509   在官网上下载jar包就好了,然后打开android studio-->setting->Plugins->Install plugin from di

Android tips(八)-->Android Studio打包apk,aar,jar包

文本我们将讲解android studio打包apk,aar,jar包的相关知识。apk包就是android系统的安装包,这里没什么好说的,aar包是android中独有的类库包,而jar包是java中特有的类库包,在具体的介绍打包之前,我们先来aar包和jar包的区别

Android产品研发(十一)-->应用内跳转Scheme协议

这里的scheme是一种页面内跳转协议,主要用于支持一下几种场景:- 服务器下发跳转路径,客户端根据服务器下发跳转路径跳转相应的页面;- H5页面点击锚点,根据锚点具体跳转路径App端跳转具体的页面;- App端收到服务器端下发的PUSH通知栏消息,根据消息的点击跳转路径跳转相关页面

    共 12 条
  • 1
  • 2
  • 请选择