- Android: ListView BaseAdapter
weixin_30621959
移动开发java数据结构与算法
前言话说开发用了各种Adapter之后感觉用的最舒服的还是BaseAdapter,尽管使用起来比其他适配器有些麻烦,但是使用它却能实现很多自己喜欢的列表布局,比如ListView、GridView、Gallery、Spinner等等。它是直接继承自接口类Adapter的,使用BaseAdapter时需要重写很多方法,其中最重要的当属getView,因为这会涉及到ListView优化等问题,其他的方
- Android进阶之性能优化
拨云见日aaa
一、性能优化分类布局优化绘制优化内存泄漏优化响应速度优化ListView优化Bitmap优化线程优化二、布局优化尽量减少布局的嵌套解决办法:多嵌套的情况下可以使用RelativeLayout布局层级相同的情况下使用LinearLayout,它比RelativeLayout更高效使用和标签以及参考:Android布局优化之标签include,viewstub,merge三、绘制优化避免在onDraw
- 「十六天计划」第十五天
TheSkyCloud
@2.201.复兴动画制作,视图动画,图片动画。2.异步任务显示列表。3.图像旋转显示扫描。4.ListView优化5.存储过程,存储在手机。
- 日常小工具
MengkZhang
shape绘制圆角隐藏电话号码的中间四位的正则表达式Stringphone="18306812696";Stringphone_s=phone.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2");Log.e("===z",phone_s);//183****2696ListView优化ListView每次滚动都会调用getView方法,所以优化getVi
- ListView优化
majorty
//1,复用convertView//2,对findViewById次数的优化,使用ViewHolder//3,将ViewHolder定义成静态,不会去创建多个对象//4,listView如果有多个条目的时候,可以做分页算法,每一次加载20条,逆序返回
- Android——ListView优化
weixin_34013044
移动开发ui数据库
1、ListView基本概念列表显示需要三个元素:ListView:用来展示列表的View。适配器:用来把数据映射到ListView上数据:具体的将被映射的字符串,图片或基本组件适配器类型分为三种:ArrayAdapter,SimpleAdapter和SimpleCursorAdapter。1.1、ArrayAdapterArrayAdapter是BaseAdapter的派生类,在BaseAdap
- Flutter ListView使用
史大拿
Flutterflutterlistviewdartlistview优化单选多选全选
Flutter小知识:ListView使用ListView参数介绍ScrollController的使用ListTileListView全选ListView多选ListView单选ListView优化灵魂烈焰中死神降临,生命不断流逝,枯萎,只求不要带走那对你最后的一丝思念。——沙漠死神先来看看今天的最终效果吧:效果图(1.1):咋们先来学习ListView,若果你对ListView比较熟悉,直接跳
- ListView和RecyclerView的区别
摸鱼小能手啊
ListView和RecyclerView的区别:1、优化ListView优化需要自定义ViewHolder和判断convertView是否为null。而RecyclerView是存在规定好的ViewHolder。2、布局不同对于ListView,只能在垂直的方向滚动。而对于RecyclerView,他里面的LayoutManager中制定了一套可以扩展的布局排列接口,所以我们可以重写Layout
- Flutter Sliver滚动组件
xiangxiongfly915
FlutterFlutterSliver
文章目录FlutterSliver滚动组件SliverList&SliverGridSliverAppBarSliverPersistentHeaderSliverToBoxAdapterCustomScrollView&NestedScrollViewNestedScrollView+SliverAppBar+ListView优化联动效果FlutterSliver滚动组件SliverList&S
- Android 学习笔记--android——listview总结
android
总结listview:1、创建-->高度match2、创建-->行布局3、找到listview控件4、初始化数据5、创建适配器对象baseAdaptergetview:决定了显示的样式以及内容查找当前布局对象里面的控件行布局对象.findviewById()getCount:决定listview的显示行数6、设置适配器listview优化:1、用完全消失的布局对象去替代即将出现的那个布局对象复用行
- Flutter ListView优化(滑动不加载,停止滑动加载)
阿 T
Flutter骚操作Flutter基础教程flutter面试android
FlutterListView加载图片优化(滑动不加载,停止滑动加载)前言:为了更好的减小网络的带宽,使得列表更加流畅,我们需要了解懒加载,也称延迟加载。面试真题:flutter如何实现懒加载?本章,我们会实现wechat朋友圈的优化功能,即当页面在滑动时不加载图片,在界面停止滑动时加载图片。效果图:滑动时:停止滑动开始加载:1.了解widget通知监听:NotificationListenerN
- ListView的优化
mecury
ListView的优化问题可以说是面试的必考题。我之前看过一遍视频Android必学-异步加载,感觉里面讲解的知识都是ListView优化常用的,这里我就通过里面的示例来做一个总结。本篇准备通过这个示例来谈一谈ListView的优化,通过分析在写code的过程中遇到的问题,来谈一下解决办法。示例是这样的:由http://www.imooc.com/api/teacher?type=4&num=30
- 百度面试总结
Sophia_dd35
1.怎么判断链表有回路2.Map和Set区别3.equals和==区别4.HashMap源码5.IntentService和Service区别6.context数量7.怎么通过官网链接打开本地app8.怎么使用两个栈实现链表的效果9.BitMap优化10.自定义实现drawableLeft效果11.mvp12.手写单例13.activity启动流程(非生命周期)14.ListView优化15.Li
- Android常见基础面试题汇总
kiss_m_2020
php
1handlermessageloopmessageQueue2fragment生命周期3ContentProvider4WebView5BroadCastreciver广播6通讯录的获取ContentProviderContentReciver获取用户的头像,手机号码等。7ListVIew图片的错位8ListView优化:convertviewview的重用9service服务10AsyncTa
- AutoCompleteTextView、ListView优化、Dialog等高级组件模拟练习
qq_39745566
模拟要求:1、创建一个QQ的登陆界面,使用AutoCompleteTextView作用户账号;2、登陆成功后自动跳转到B界面,通过网址http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=20&page=1使用GSON解析网络数据将其展示到ListView上;3、点击展示出来的数据会自动弹出Dialog对话框;QQ登陆界面参考图
- 简述APP性能优化
特大碗牛肉面
ListView优化1.为了保证ListView滑动的流畅性,getView()中要做尽量少的事情,不要有耗时的操作。特别是滑动的时候不要加载图片,停下来再加载;2.复用convertView,使用setTag()和getTag,减少findViewById()的次数,因为findViewById是一个相对比较耗性能的操作;3.使用RecycleView代替。ListView每次更新数据都要not
- ListView优化机制及滑动时数据时出现的数据错乱重复问题
傻也不懂
Android技术
该篇内容主要是记录我在实际开发中遇到的ListView滑动时数据错乱的几种情况,以及解决方法。在进行ListView滑动时数据错乱问题讨论之前会对ListView所谓的进行说明。文章末尾分享了几篇文章,增强对ListView使用以及Adapter优化的理解,其中有对adapter优化方法的耗时测试的介绍。GettingStart遇到过的ListView在滑动时数据错乱的几种情况:Listview滑
- 解决RecyclerView无法onItemClick问题
jwzhangjie
android
对于RecyclerView的使用,大家可以查看将替代ListView的RecyclerView的使用(一),单单从代码结构来说RecyclerView确实比ListView优化了很多,也简化了我们编写代码量,但是有一个问题会导致开发者不会去用它,更比说替换ListView了,我不知道使用过RecyclerView的人有没有进一步查看,RecyclerView没有提供Item的点击事件,我们使用列
- ListView优化之图片的三级缓存(LruCache)
wxx_csdn
Android开发笔记
最近写了一个图片的三级缓存,当然现在有很多的开源库都有这个功能,比如xUtils3等,那么我们为什么要自己去写呢,第一个是进一步熟悉它的原理,第二个是使用LruCache最近最少算法,LruCache的好处是可以指定你在手机缓存空间使用多大,在缓存的文件大小超出了你指定的大小,系统会自动回收最少使用的对象。LruCache声明的是一个强引用,它是不会被系统回收的。图片的三级缓存,顾名思义有三级按照
- ListView优化机制及滑动时数据时出现的数据错乱重复问题
远经潮
android开发listview优化机制listview错乱
该篇内容主要是记录我在实际开发中遇到的ListView滑动时数据错乱的几种情况,以及解决方法。在进行ListView滑动时数据错乱问题讨论之前会对ListView所谓的进行说明。文章末尾分享了几篇文章,增强对ListView使用以及Adapter优化的理解,其中有对adapter优化方法的耗时测试的介绍。GettingStart遇到过的ListView在滑动时数据错乱的几种情况:Listview滑
- Android listview中CheckBox选中混乱的情况
weixin_30764771
最近在写Android界面时经常用到listview这个控件,个人认为其缺陷很多,比如快速滑动时,会出现加载缓慢,不能缓存加载过得数据,每次滑动时都要加载控件的ID,所以须有将listview优化,下面将讲讲我遇到的问题。在listview中加入CheckBox时,选中第一个,当往下滑动时,出现了下面没有选中的也被选中的情况,下面看看截图。我在第一张图中选中了第一个和第二个CheckBox,将其后
- ListView的优化。contentView的复用和ViewHolder的使用
沈夜大祭司
其他
BaseAdapter,尽管使用起来比其他适配器有些麻烦,但是使用它却能实现很多自己喜欢的列表布局,比如ListView、GridView、Gallery、Spinner等等。它是直接继承自接口类Adapter的,使用BaseAdapter时需要重写很多方法,其中最重要的当属getView,因为这会涉及到ListView优化等问题,其他的方法可以参考链接的文章。BaseAdapter与其他Ad
- Android ListView优化思路12则
Bruce_Qi_
Android
1、ViewHolder模式,而且ViewHolder作为内部类使用时声明为static的2、异步加载:耗时的操作放在异步线程中如果在adapter中的某些操作需要耗费大量的时间,这个时候就要用到异步线程来进行异步就在数据。比如:现在要加载图片,此时我们需要根据url访问网络得到数据,然后将数据解析为Bitmap设置给View3、listView错位加载问题:判断url是否一致解决4、为图片设置缓
- Android ListView优化之getView频繁多次调用与ViewHolder工作原理
一个在编程道路上渐行渐远的咳
AndroidListViewAdapter
原文地址:AndroidListView优化之getView频繁多次调用与ViewHolder工作原理Android中我们经常会用到ListView,然后ListView到底是如何通过ViewHolder去优化的?常见的适配器中利用ViewHolder去优化ListView的代码@OverridepublicViewgetView(intposition,ViewconvertView,ViewG
- Android BaseAdapter使用及listview优化
fackquan
Android
publicclassPurchaseAdapterextendsBaseAdapter{privateLayoutInflaterinflater=null;privateList>mlist=null;privateHashMapmMap=null;publicPurchaseAdapter(Contextcontext,List>list){inflater=(LayoutInflater)
- Android杂谈--ListView之BaseAdapter的使用
weixin_34247032
前言话说开发用了各种Adapter之后感觉用的最舒服的还是BaseAdapter,尽管使用起来比其他适配器有些麻烦,但是使用它却能实现很多自己喜欢的列表布局,比如ListView、GridView、Gallery、Spinner等等。它是直接继承自接口类Adapter的,使用BaseAdapter时需要重写很多方法,其中最重要的当属getView,因为这会涉及到ListView优化等问题,其他的方
- Android -- 重写BaseAdapter以及对ListView的优化
csid_502
背景对于ListView、GridView、Gallery、Spinner等等,它是它们的适配器,直接继承自接口类Adapter的,使用BaseAdapter时需要重写很多方法,其中最重要的当属getView,因为这会涉及到ListView优化等问题,BaseAdapter与其他Adapter有些不一样,其他的Adapter可以直接在其构造方法中进行数据的设置:SimpleAdapteradapt
- ListView优化之BaseAdapter使用小心得
tobeamaster
(初学者)当我们需要通过滚动屏幕来显示我们需要的item时候,如果一次次findViewById的话效率极低。这里BaseAdapter这个库可以解决这个问题。通过改写库里面getView()方法,可以实现旧item的缓存,以及再一次使用时候的调出。BaseAdaper类的介绍:BaseAdapter就是Android应用程序中经常用到的基础数据适配器,它实现了ListAdapter和Spin
- Android杂谈--ListView之BaseAdapter的使用
tianshuguang
Android学习笔记
话说开发用了各种Adapter之后感觉用的最舒服的还是BaseAdapter,尽管使用起来比其他适配器有些麻烦,但是使用它却能实现很多自己喜欢的列表布局,比如ListView、GridView、Gallery、Spinner等等。它是直接继承自接口类Adapter的,使用BaseAdapter时需要重写很多方法,其中最重要的当属getView,因为这会涉及到ListView优化等问题,其他的方法可
- BaseAdapter自定义适配器和ListView优化以及下拉刷新
2896405089
(1.BaseAdapter自定义适配器实现过程):重写视图区域:即重写BaseAdapter有四方要重写:publicintgetCount()数据域大小方法publicObjectgetItem(intarg0)返回每个Item的数据据publiclonggetItemId(intarg0)返回每个Item的IDViewgetView(intarg0,Viewarg1,ViewGrouparg
- jvm调优总结(从基本概念 到 深度优化)
oloz
javajvmjdk虚拟机应用服务器
JVM参数详解:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。
- 【Scala十六】Scala核心十:柯里化函数
bit1129
scala
本篇文章重点说明什么是函数柯里化,这个语法现象的背后动机是什么,有什么样的应用场景,以及与部分应用函数(Partial Applied Function)之间的联系 1. 什么是柯里化函数
A way to write functions with multiple parameter lists. For instance
def f(x: Int)(y: Int) is a
- HashMap
dalan_123
java
HashMap在java中对很多人来说都是熟的;基于hash表的map接口的非同步实现。允许使用null和null键;同时不能保证元素的顺序;也就是从来都不保证其中的元素的顺序恒久不变。
1、数据结构
在java中,最基本的数据结构无外乎:数组 和 引用(指针),所有的数据结构都可以用这两个来构造,HashMap也不例外,归根到底HashMap就是一个链表散列的数据
- Java Swing如何实时刷新JTextArea,以显示刚才加append的内容
周凡杨
java更新swingJTextArea
在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。
问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现
- servlet或struts的Action处理ajax请求
g21121
servlet
其实处理ajax的请求非常简单,直接看代码就行了:
//如果用的是struts
//HttpServletResponse response = ServletActionContext.getResponse();
// 设置输出为文字流
response.setContentType("text/plain");
// 设置字符集
res
- FineReport的公式编辑框的语法简介
老A不折腾
finereport公式总结
FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式。
简单的说下自己感觉的公式要注意的几个地方:
1.if语句语法刚接触感觉比较奇怪,if(条件式子,值1,值2),if可以嵌套,if(条件式子1,值1,if(条件式子2,值2,值3)
- linux mysql 数据库乱码的解决办法
墙头上一根草
linuxmysql数据库乱码
linux 上mysql数据库区分大小写的配置
lower_case_table_names=1 1-不区分大小写 0-区分大小写
修改/etc/my.cnf 具体的修改内容如下:
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/va
- 我的spring学习笔记6-ApplicationContext实例化的参数兼容思想
aijuans
Spring 3
ApplicationContext能读取多个Bean定义文件,方法是:
ApplicationContext appContext = new ClassPathXmlApplicationContext(
new String[]{“bean-config1.xml”,“bean-config2.xml”,“bean-config3.xml”,“bean-config4.xml
- mysql 基准测试之sysbench
annan211
基准测试mysql基准测试MySQL测试sysbench
1 执行如下命令,安装sysbench-0.5:
tar xzvf sysbench-0.5.tar.gz
cd sysbench-0.5
chmod +x autogen.sh
./autogen.sh
./configure --with-mysql --with-mysql-includes=/usr/local/mysql
- sql的复杂查询使用案列与技巧
百合不是茶
oraclesql函数数据分页合并查询
本片博客使用的数据库表是oracle中的scott用户表;
------------------- 自然连接查询
查询 smith 的上司(两种方法)
&
- 深入学习Thread类
bijian1013
javathread多线程java多线程
一. 线程的名字
下面来看一下Thread类的name属性,它的类型是String。它其实就是线程的名字。在Thread类中,有String getName()和void setName(String)两个方法用来设置和获取这个属性的值。
同时,Thr
- JSON串转换成Map以及如何转换到对应的数据类型
bijian1013
javafastjsonnet.sf.json
在实际开发中,难免会碰到JSON串转换成Map的情况,下面来看看这方面的实例。另外,由于fastjson只支持JDK1.5及以上版本,因此在JDK1.4的项目中可以采用net.sf.json来处理。
一.fastjson实例
JsonUtil.java
package com.study;
impor
- 【RPC框架HttpInvoker一】HttpInvoker:Spring自带RPC框架
bit1129
spring
HttpInvoker是Spring原生的RPC调用框架,HttpInvoker同Burlap和Hessian一样,提供了一致的服务Exporter以及客户端的服务代理工厂Bean,这篇文章主要是复制粘贴了Hessian与Spring集成一文,【RPC框架Hessian四】Hessian与Spring集成
在
【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中
- 【Mahout二】基于Mahout CBayes算法的20newsgroup的脚本分析
bit1129
Mahout
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information re
- nginx三种获取用户真实ip的方法
ronin47
随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到<apache获取用户真实IP地址>,如果是后端真实服务器是nginx,那么继续往下看。
实例环境: 用户IP 120.22.11.11
- java-判断二叉树是不是平衡
bylijinnan
java
参考了
http://zhedahht.blog.163.com/blog/static/25411174201142733927831/
但是用java来实现有一个问题。
由于Java无法像C那样“传递参数的地址,函数返回时能得到参数的值”,唯有新建一个辅助类:AuxClass
import ljn.help.*;
public class BalancedBTree {
- BeanUtils.copyProperties VS PropertyUtils.copyProperties
诸葛不亮
PropertyUtilsBeanUtils
BeanUtils.copyProperties VS PropertyUtils.copyProperties
作为两个bean属性copy的工具类,他们被广泛使用,同时也很容易误用,给人造成困然;比如:昨天发现同事在使用BeanUtils.copyProperties copy有integer类型属性的bean时,没有考虑到会将null转换为0,而后面的业
- [金融与信息安全]最简单的数据结构最安全
comsci
数据结构
现在最流行的数据库的数据存储文件都具有复杂的文件头格式,用操作系统的记事本软件是无法正常浏览的,这样的情况会有什么问题呢?
从信息安全的角度来看,如果我们数据库系统仅仅把这种格式的数据文件做异地备份,如果相同版本的所有数据库管理系统都同时被攻击,那么
- vi区段删除
Cwind
linuxvi区段删除
区段删除是编辑和分析一些冗长的配置文件或日志文件时比较常用的操作。简记下vi区段删除要点备忘。
vi概述
引文中并未将末行模式单独列为一种模式。单不单列并不重要,能区分命令模式与末行模式即可。
vi区段删除步骤:
1. 在末行模式下使用:set nu显示行号
非必须,随光标移动vi右下角也会显示行号,能够正确找到并记录删除开始行
- 清除tomcat缓存的方法总结
dashuaifu
tomcat缓存
用tomcat容器,大家可能会发现这样的问题,修改jsp文件后,但用IE打开 依然是以前的Jsp的页面。
出现这种现象的原因主要是tomcat缓存的原因。
解决办法如下:
在jsp文件头加上
<meta http-equiv="Expires" content="0"> <meta http-equiv="kiben&qu
- 不要盲目的在项目中使用LESS CSS
dcj3sjt126com
Webless
如果你还不知道LESS CSS是什么东西,可以看一下这篇文章,是我一朋友写给新人看的《CSS——LESS》
不可否认,LESS CSS是个强大的工具,它弥补了css没有变量、无法运算等一些“先天缺陷”,但它似乎给我一种错觉,就是为了功能而实现功能。
比如它的引用功能
?
.rounded_corners{
- [入门]更上一层楼
dcj3sjt126com
PHPyii2
更上一层楼
通篇阅读完整个“入门”部分,你就完成了一个完整 Yii 应用的创建。在此过程中你学到了如何实现一些常用功能,例如通过 HTML 表单从用户那获取数据,从数据库中获取数据并以分页形式显示。你还学到了如何通过 Gii 去自动生成代码。使用 Gii 生成代码把 Web 开发中多数繁杂的过程转化为仅仅填写几个表单就行。
本章将介绍一些有助于更好使用 Yii 的资源:
- Apache HttpClient使用详解
eksliang
httpclienthttp协议
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会
- zxing二维码扫描功能
gundumw100
androidzxing
经常要用到二维码扫描功能
现给出示例代码
import com.google.zxing.WriterException;
import com.zxing.activity.CaptureActivity;
import com.zxing.encoding.EncodingHandler;
import android.app.Activity;
import an
- 纯HTML+CSS带说明的黄色导航菜单
ini
htmlWebhtml5csshovertree
HoverTree带说明的CSS菜单:纯HTML+CSS结构链接带说明的黄色导航
在线体验效果:http://hovertree.com/texiao/css/1.htm代码如下,保存到HTML文件可以看到效果:
<!DOCTYPE html >
<html >
<head>
<title>HoverTree
- fastjson初始化对性能的影响
kane_xie
fastjson序列化
之前在项目中序列化是用thrift,性能一般,而且需要用编译器生成新的类,在序列化和反序列化的时候感觉很繁琐,因此想转到json阵营。对比了jackson,gson等框架之后,决定用fastjson,为什么呢,因为看名字感觉很快。。。
网上的说法:
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
- 基于Mybatis封装的增删改查实现通用自动化sql
mengqingyu
DAO
1.基于map或javaBean的增删改查可实现不写dao接口和实现类以及xml,有效的提高开发速度。
2.支持自定义注解包括主键生成、列重复验证、列名、表名等
3.支持批量插入、批量更新、批量删除
<bean id="dynamicSqlSessionTemplate" class="com.mqy.mybatis.support.Dynamic
- js控制input输入框的方法封装(数字,中文,字母,浮点数等)
qifeifei
javascript js
在项目开发的时候,经常有一些输入框,控制输入的格式,而不是等输入好了再去检查格式,格式错了就报错,体验不好。 /** 数字,中文,字母,浮点数(+/-/.) 类型输入限制,只要在input标签上加上 jInput="number,chinese,alphabet,floating" 备注:floating属性只能单独用*/
funct
- java 计时器应用
tangqi609567707
javatimer
mport java.util.TimerTask; import java.util.Calendar; public class MyTask extends TimerTask { private static final int
- erlang输出调用栈信息
wudixiaotie
erlang
在erlang otp的开发中,如果调用第三方的应用,会有有些错误会不打印栈信息,因为有可能第三方应用会catch然后输出自己的错误信息,所以对排查bug有很大的阻碍,这样就要求我们自己打印调用的栈信息。用这个函数:erlang:process_display (self (), backtrace).需要注意这个函数只会输出到标准错误输出。
也可以用这个函数:erlang:get_s